web-dev-qa-db-ja.com

Ruby Database.ymlファイルのRailsのMySQL設定を修正

私はこの構成を持っています:

development:
  adapter: mysql2
  encoding: utf8
  database: my_db_name
  username: root
  password: my_password
  Host: mysql://127.0.0.1:3306

そして、私はこのエラーを受け取っています:

Unknown MySQL server Host 'mysql://127.0.0.1:3306' (1)

私が間違ってやっていることが明らかなものはありますか?

85
GeekedOut

ホストをポート番号から分離する必要があります。次のようなものがあります。

development:
  adapter: mysql2
  encoding: utf8
  database: my_db_name
  username: root
  password: my_password
  Host: 127.0.0.1
  port: 3306
193

次のようにすることもできます。

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
16
pangpang

空のconfig/database.ymlファイルがある場合は、ENV ['DATABASE_URL']変数を定義してください。それで機能します

$ cat config/database.yml
 
$ echo $DATABASE_URL
mysql://root:[email protected]:3306/my_db_name

herokuの場合:heroku config:set DATABASE_URL='mysql://root:[email protected]/my_db_name'

2
user3118220

「utf8mb4」をエンコードとして使用して、すべてのUnicode(絵文字を含む)をカバーします

default: &default
  adapter: mysql2
  encoding: utf8mb4
  collation: utf8mb4_bin
  username: <%= ENV.fetch("MYSQL_USERNAME") %>
  password: <%= ENV.fetch("MYSQL_PASSWORD") %>
  Host:     <%= ENV.fetch("MYSQL_Host") %>

Reference1 )( Reference2

2
botibs

これらの回答のどれも私のために機能しませんでした、私は問題を解決したWerner Bihlの答えを見つけました。

Ruby for Railsのmysqlデータベースをセットアップするときに「ソケット '/var/run/mysqld/mysqld.sock'を介してローカルMySQLサーバーに接続できません」エラーを取得する_ app

0
t q

テストと開発用に複数のデータベースがある場合、これが役立つ場合があります

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
0
Rick