应用程序无法连接到本地MySQL - osx

时间:2013-06-24 18:30:36

标签: mysql ruby-on-rails macos sockets

我在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服务器

2 个答案:

答案 0 :(得分:4)

所以诀窍就是/tmp/mysql.sock/Applications/MAMP/tmp/mysql/mysql.sock

ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock

答案 1 :(得分:1)

错误表示“mysql未启动/运行”。根据您的描述,看起来像指向别名的新位置没有mysql或者它的mysql没有启动。

在新位置使用正确的参数查看my.cnf文件:     /应用/ MAMP /库/ bin中/ MySQL的

另一个技巧是列出正在运行的进程并查找mysql。 另外,你确定“rails c”没有使用sqlite3 vs mysql吗?

更新:

*由@bfavaretto提供 MySQL my.cnf location on OS X?

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