Saya memiliki konfigurasi ini:
development:
adapter: mysql2
encoding: utf8
database: my_db_name
username: root
password: my_password
host: mysql://127.0.0.1:3306
Dan saya mendapatkan kesalahan ini:
Unknown MySQL server host 'mysql://127.0.0.1:3306' (1)
Adakah sesuatu yang jelas bahwa saya melakukan kesalahan?
mysql
ruby-on-rails
ruby
yaml
GeekedOut
sumber
sumber
host: localhost
root
sebagai pengguna database produksi. Untuk mengatur pengguna khusus untuk aplikasi rails Anda, lihat dokumen MySQL tentang pembuatan pengguna .database.yml
. Sebaliknya, melakukan apa user3118220 lakukan dan mendapatkannya dari lingkungan Anda:password: ENV['MY_RAILS_APP_DB_PASSWORD']
.Anda juga bisa melakukan seperti ini:
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
sumber
Gunakan 'utf8mb4' sebagai encoding untuk mencakup semua unicode (termasuk emoji)
default: &default adapter: mysql2 encoding: utf8mb4 collation: utf8mb4_bin username: <%= ENV.fetch("MYSQL_USERNAME") %> password: <%= ENV.fetch("MYSQL_PASSWORD") %> host: <%= ENV.fetch("MYSQL_HOST") %>
( Referensi1 ) ( Referensi2 )
sumber
Jika Anda dapat memiliki file config / database.yml kosong lalu tentukan variabel ENV ['DATABASE_URL'], maka itu akan berfungsi
$ cat config/database.yml $ echo $DATABASE_URL mysql://root:[email protected]:3306/my_db_name
untuk Heroku: heroku config: set
DATABASE_URL='mysql://root:[email protected]/my_db_name'
sumber
Jika Anda memiliki beberapa database untuk pengujian dan pengembangan, ini mungkin membantu
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
sumber
shost
bedanya denganhost
?Tak satu pun dari jawaban ini berhasil untuk saya, saya menemukan jawaban Werner Bihl yang memperbaiki masalah.
Mendapatkan kesalahan "Tidak dapat terhubung ke server MySQL lokal melalui socket '/var/run/mysqld/mysqld.sock'" saat mengatur database mysql untuk aplikasi Ruby on Rails
sumber