这些是解决您的问题的步骤:
第 1 步:将您的主机更改为 127.0.0.1
staging:
adapter: mysql2
host: 127.0.0.1
username: root
password: xxxx
database: xxxx
socket: your-location-socket
第 2 步:您的服务器 MySql 似乎有 2 个连接。要找到您的套接字文件位置,请执行以下操作:
mysqladmin variables | grep socket
对我来说:
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/Applications/XAMPP/xamppfiles/var/mysql/mysql.sock' exists!
或者
mysql --help
我收到此错误是因为我在我的 OS X 版本 10.9.5 中为 PHP 应用程序安装了 XAMPP。在此处选择默认套接字位置之一。
我选择默认的 Rails 应用程序:
socket: /tmp/mysql.sock
对于我的 PHP 应用程序,我安装了 XAMPP,所以我在这里设置了我的套接字:
socket: /Applications/XAMPP/xamppfiles/var/mysql/mysql.sock
OS X 中的 OTHERS 套接字位置
对于 MAMPP:
socket: /Applications/MAMP/tmp/mysql/mysql.sock
对于来自 MySQL 的包安装程序:
socket: /tmp/mysql.sock
对于与 Mac OS X 服务器捆绑的 MySQL:
socket: /var/mysql/mysql.sock
对于 Ubuntu:
socket: /var/run/mysqld/mysql.sock
有关详细信息ruby-on-rails-3-cant-connect-to-local-mysql-server-through-socket-tmp-mysql-s
第 3 步:如果所有这些设置都不起作用,您可以删除您的套接字位置:
staging:
# socket: /var/run/mysqld/mysql.sock
我希望这对你有帮助。