簡體   English   中英

Rails 開發 - 無法連接到“本地主機”上的 MySQL 服務器 (10061)

[英]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 7 上開發
  • MySQL Ver 14.14 distrib 5.5.21 for win64
  • 服務器版本 5.5.21
  • 導軌 3.2.1

謝謝!

我最好的猜測是,您表示為 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM