Tengo esta configuración:
development:
adapter: mysql2
encoding: utf8
database: my_db_name
username: root
password: my_password
host: mysql://127.0.0.1:3306
Y recibo este error:
Unknown MySQL server host 'mysql://127.0.0.1:3306' (1)
¿Hay algo obvio que estoy haciendo incorrectamente?
mysql
ruby-on-rails
ruby
yaml
GeekedOut
fuente
fuente
host: localhost
root
como usuario de la base de datos de producción. Para configurar un usuario dedicado para su aplicación rails, consulte los documentos de MySQL sobre la creación de usuarios .database.yml
. En su lugar, hacer lo que hicieron user3118220 y la recibe de su entorno:password: ENV['MY_RAILS_APP_DB_PASSWORD']
.También puedes hacer esto:
default: &default adapter: mysql2 encoding: utf8 username: root password: host: 127.0.0.1 port: 3306 development: <<: *default database: development_db_name test: <<: *default database: test_db_name production: <<: *default database: production_db_name
fuente
Use 'utf8mb4' como codificación para cubrir todos los Unicode (incluidos los emojis)
default: &default adapter: mysql2 encoding: utf8mb4 collation: utf8mb4_bin username: <%= ENV.fetch("MYSQL_USERNAME") %> password: <%= ENV.fetch("MYSQL_PASSWORD") %> host: <%= ENV.fetch("MYSQL_HOST") %>
( Referencia1 ) ( Referencia2 )
fuente
Si puede tener un archivo config / database.yml vacío, defina la variable ENV ['DATABASE_URL'], entonces funcionará
$ cat config/database.yml $ echo $DATABASE_URL mysql://root:[email protected]:3306/my_db_name
para Heroku: heroku config: set
DATABASE_URL='mysql://root:[email protected]/my_db_name'
fuente
Si tiene varias bases de datos para pruebas y desarrollo, esto podría ayudar
development: adapter: mysql2 encoding: utf8 reconnect: false database: DBNAME pool: 5 username: usr password: paswd shost: localhost test: adapter: mysql2 encoding: utf8 reconnect: false database: DBNAME pool: 5 username: usr password: paswd shost: localhost production: adapter: mysql2 encoding: utf8 reconnect: false database: DBNAME pool: 5 username: usr password: paswd shost: localhost
fuente
shost
diferencia dehost
?Ninguna de estas respuestas funcionó para mí, encontré la respuesta de Werner Bihl que solucionó el problema.
Obteniendo el error "No se puede conectar al servidor MySQL local a través del socket '/var/run/mysqld/mysqld.sock'" al configurar la base de datos mysql para la aplicación Ruby on Rails
fuente