繁体   English   中英

应用程序无法连接到本地MySQL-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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM