반응형
Ruby on Rails Database.yml 파일의 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)
내가 잘못하고 있다는 명백한 것이 있습니까?
호스트와 포트 번호를 구분해야합니다. 다음과 같은 것을 가질 수 있습니다.
development:
adapter: mysql2
encoding: utf8
database: my_db_name
username: root
password: my_password
host: 127.0.0.1
port: 3306
다음과 같이 할 수도 있습니다.
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
빈 config / database.yml 파일이있을 수있는 경우 ENV [ 'DATABASE_URL'] 변수를 정의하면 작동합니다.
$ cat config/database.yml
$ echo $DATABASE_URL
mysql://root:my_password@127.0.0.1:3306/my_db_name
Heroku : heroku config : set DATABASE_URL='mysql://root:my_password@host.com/my_db_name'
모든 유니 코드 (이모 지 포함)를 포함하는 인코딩으로 'utf8mb4'사용
default: &default
adapter: mysql2
encoding: utf8mb4
collation: utf8mb4_bin
username: <%= ENV.fetch("MYSQL_USERNAME") %>
password: <%= ENV.fetch("MYSQL_PASSWORD") %>
host: <%= ENV.fetch("MYSQL_HOST") %>
테스트 및 개발을위한 여러 데이터베이스가있는 경우 도움이 될 수 있습니다.
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
이 답변 중 어느 것도 나를 위해 일하지 않았 으며 문제를 해결 한 Werner Bihl 의 답변을 찾았습니다 .
반응형
'developer tip' 카테고리의 다른 글
C 포인터를 NULL로 초기화 할 수 있습니까? (0) | 2020.09.11 |
---|---|
XSD 파일의 목적은 무엇입니까? (0) | 2020.09.11 |
Intent.EXTRA_EMAIL이받는 사람 필드를 채우지 않습니다. (0) | 2020.09.11 |
Twitter Bootstrap을 사용하여 테이블 셀에서 세로로 버튼 중앙에 배치 (0) | 2020.09.11 |
CONDITIONS가있는 COUNT DISTINCT (0) | 2020.09.11 |