[英]Rails development - Can't connect to MySQL server on 'localhost' (10061)
我是使用 MySQL 作為數據庫的 Rails 開發新手。 我可以使用以下命令成功連接到 MySQL:
MySQL -u macDaddy -p
在命令提示符下,所以我知道用戶是有效的並且 MySQL 正在運行。 但是當我嘗試跑步時
rake db:schema:dump
在命令行我收到這個錯誤:rake aborted! 無法連接到“本地主機”上的 MySQL 服務器 (10061)
我的database.yml 有問題嗎? 這里是:
development:
adapter: mysql2
encoding: utf8
reconnect: false
database: bookmobile
pool: 5
username: macDaddy
password: booklover
host: localhost
socket: mysql
port: 3306
我也試過刪除端口和套接字線,但我仍然遇到同樣的錯誤。 請幫忙。 這是我的版本:
謝謝!
我最好的猜測是,您表示為 Windows 的機器啟用了 IPv6 網絡。 因此,當您嘗試訪問 localhost 時,它會解析為“::1”。 這實際上是本地機器,但是,默認的 MySQL 安裝通常將綁定地址設置為 127.0.0.1,這會導致 localhost 在此設置中失敗。
您可以通過從命令提示符運行ping localhost
來驗證這一點,並查看是否收到如下響應:
Reply from ::1: time<1ms
要解決此問題,您可以更改配置以指定:
host: 127.0.0.1
或者,您可以更改 MySQL 的配置以允許不同的綁定地址,例如 localhost 而不是 127.0.0.1。
只需將您的主機更改為 host:127.0.0.1
將database.yml中主機的值更改為“127.0.0.1”即可。 或者,您可以修改您電腦的主機文件,添加一個項目為“localhost 127.0.0.1”。
我有一個類似的錯誤,但這是因為在 database.yml 中缺少端口:3306。 一旦我添加了端口:3306 問題就解決了。
這是因為你的數據庫服務器(mysql)沒有設置密碼,試試這個:
development:
adapter: mysql2
encoding: utf8
reconnect: false
database: bookmobile
pool: 5
username: macDaddy
password:
host: localhost
socket: mysql
port: 3306
確保您在創建 MySQL 時設置的端口號(例如:7777),請使用適當的“用戶名”和“密碼”添加端口號。
default: &default
adapter: mysql2
encoding: utf8
pool: 5
username: root
password: admin
host: localhost
port: 7777
在應用程序目錄的 config 目錄中的 database.yml 中。
確保 mysql 服務器正在運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.