![](/img/trans.png)
[英]Ruby on Rails 3 Can't connect to local MySQL server through socket '/tmp/mysql.sock' on OSX
[英]app can't connect to local MySQL - osx
我在osx上运行了一些Rails应用程序,但是当我启动rails generate
命令类型时,我收到以下消息:
/$root/vendor/bundle/ruby/2.0.0/gems/mysql2-0.3.11/lib/mysql2/client.rb:44:in `connect': Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) (Mysql2::Error)
有关信息,我的mamp服务器正在运行,并且连接必须通过/Applications/MAMP/Library/bin/mysql
,因此我通过在bash配置文件中进行设置来对其进行别名:
alias mysql="/Applications/MAMP/Library/bin/mysql"
顺便说一句,奇怪的是,我的rails s
命令完美运行,因此在这种情况下,我的应用程序可以连接到apache服务器
因此,诀窍是将/tmp/mysql.sock
简单地/tmp/mysql.sock
/Applications/MAMP/tmp/mysql/mysql.sock
ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock
该错误指示“ MySQL未启动/正在运行”。 根据您的描述,看起来新的位置指向别名没有mysql或它的mysql没有启动。
在新位置中查找具有正确参数的my.cnf文件:/ Applications / MAMP / Library / bin / mysql
另一个技巧是列出正在运行的进程并查找mysql。 另外,您确定“ rails c”没有使用sqlite3 vs mysql吗?
更新:
*由@bfavaretto 在OS X上的MySQL my.cnf位置提供吗?
By default, the OS X installation does not use a my.cnf, and MySQL just uses the default values. To set up your own my.cnf, you could just create a file straight in /etc.
OS X在/ usr / local / mysql / support-files /中提供了示例配置文件
更新:
看看这个: https : //stackoverflow.com/questions/4788381/getting-cant-connect-through-socket-tmp-mysql-when-installing-mysql-on-m
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.