![](/img/trans.png)
[英]Getting error: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
[英]Getting “Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'” error when setting up mysql database for Ruby on Rails app
我整天都在努力,我需要一些幫助。
我正在嘗試為我正在從github工作的RoR項目設置mysql數據庫。
當我嘗試在終端中設置數據庫時,我收到以下錯誤:
Eric-MacBook:~ eric$ cd ~/review_rocket
Eric-MacBook:review_rocket eric$ rake db:setup
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
我已經查看了20個關於SO的問題,但沒有一個能夠幫助我解決我的問題。
數據庫已啟動並正在運行,並且還設置了database.yml。
我現在有點生氣了......拜托......幫助......為時已晚。
更新:我只看了我安裝的寶石,由於某種原因,它顯示了mysql2
(見下文)
Eric-Reas-MacBook:~ ericrea$ gem list
*** LOCAL GEMS ***
multi_json (1.8.2)
mysql2 (0.3.13)
net-sftp (2.1.2)
這對我來說有點奇怪......
更新:這是我的database.yml看起來像:
common: &common
adapter: mysql2
encoding: utf8
reconnect: false
pool: 5
user_name: xxxx
password: xxxx
socket: /var/run/mysqld/mysqld.sock
development:
<<: *common
database: dev_review_rocket
# Warning: The database defined as "money_tracker_test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
<<: *common
database: test_review_rocket
production:
<<: *common
database: prod_review_rocket
更新:現在嘗試使用自制軟件重新安裝mysql時出現奇怪的錯誤(見下文):
$ brew install mysql
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/mysql-5.6.1
Already downloaded: /Library/Caches/Homebrew/mysql-5.6.13.mountain_lion.bottle.1.tar.gz
==> Pouring mysql-5.6.13.mountain_lion.bottle.1.tar.gz
==> /usr/local/Cellar/mysql/5.6.13/bin/mysql_install_db --verbose --user=ericrea
2013-10-22 18:32:41 56901 [Note] InnoDB: FTS optimize thread exiting.
2013-10-22 18:32:41 56901 [Note] InnoDB: Starting shutdown...
2013-10-22 18:32:42 56901 [Note] InnoDB: Shutdown completed; log sequence number 1626067
2013-10-22 18:32:42 56901 [Note] /usr/local/Cellar/mysql/5.6.13/bin/mysqld: Shutdown complete
Warning: mysql post_install failed. Rerun with `brew postinstall mysql`.
==> Caveats
A "/etc/my.cnf" from another install may interfere with a Homebrew-built
server starting up correctly.
To connect:
mysql -uroot
To have launchd start mysql at login:
ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
Then to load mysql now:
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist
Or, if you don't want/need launchctl, you can just run:
mysql.server start
==> Summary
🍺 /usr/local/Cellar/mysql/5.6.13: 9382 files, 354M
Eric-Reas-MacBook:~ ericrea$ brew postinstall mysql
==> /usr/local/Cellar/mysql/5.6.13/bin/mysql_install_db --verbose --user=ericrea
2013-10-22 18:33:22 57135 [Note] InnoDB: FTS optimize thread exiting.
2013-10-22 18:33:22 57135 [Note] InnoDB: Starting shutdown...
2013-10-22 18:33:23 57135 [Note] InnoDB: Shutdown completed; log sequence number 1626087
2013-10-22 18:33:23 57135 [Note] /usr/local/Cellar/mysql/5.6.13/bin/mysqld: Shutdown complete
READ THIS: https://github.com/mxcl/homebrew/wiki/troubleshooting
These open issues may also help:
https://github.com/mxcl/homebrew/issues/22021
https://github.com/mxcl/homebrew/pull/22480
我最終想出了這個。
我運行了以下命令:
$ mysqladmin variables | grep socket
返回的是:
| performance_schema_max_socket_classes | 12 |
| performance_schema_max_socket_instances | 323 |
| socket | /tmp/mysql.sock
然后我檢查了我的database.yml文件中的套接字位置,這是錯誤的:
那是錯的。 將它更換到正確的插座位置后,一切都像魅力一樣。 我希望這可以幫助將來的某個人。
你必須啟動mysql服務器
mysql.server start
我想你可能正在尋找
rake db:migrate
試着找到你的MySQL的my.cnf文件。 在典型的Ubuntu服務器上,它位於:/etc/mysql/my.cnf
打開文件並確保套接字變量ie socket = /var/run/mysqld/mysqld.sock
對應於應用程序的database.yml中的套接字值
只是簡單地跑
mysql server.restart
重啟服務器。 這為我解決了這個問題。
要解決此錯誤,請先找到您的套接字文件,在終端中運行以下命令
mysqladmin variables | grep socket
對我來說,這給了:
| socket | /var/run/mysqld/mysqld.sock
然后,在config / database.yml中添加一行:
development:
adapter: mysql2
host: localhost
username: root
password: xxxx
database: xxxx
socket: /var/run/mysqld/mysqld.sock
這將解決這個問題。
我有類似的問題(也使用Brew,也得到PID文件問題)與mysql和我的PHP應用程序。 它是在我將OSX更新為Mavericks之后開始的,可能是系統更新覆蓋了我的設置。 奇怪的是,在我重新創建/etc/php.ini並設置指向/tmp/mysql.sock的正確套接字地址后,關於mysql的所有內容都重新開始工作。 也許它會幫助谷歌搜索這個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.