Ruby rails mysql 连接问题

firedragonpzy · 2012年03月17日 · 最后由 hayeah 回复于 2012年03月18日 · 3612 次阅读

Can't connect to local MySQL server through socket '/usr/local/mysql/mysql.sock' 如何解决

楼主什么系统?Linux?Lion?Windows?MySQL 启动了么?

server 没启动吧 netstat -na | grep "mysql"试试启动没

我把 socket 去掉了,加了一行 host: localhost,竟然可以了

#3 楼 @gaicitadie +1 如果生成项目时 -d=mysql 通常会有这行。

mysql.sock 是本地通讯用的 unix socket file,具体位置取决于 mysql 的安装。如楼上所说,把 host 改了就可以用过 tcp/ip 连接了。

试试用 lsof 找出 socket file

$ ps -A | grep mysql 2024 s002 S 0:49.38 /usr/local/Cellar/mysql/5.5.10/bin/mysqld $ lsof -p 2024 # output omitted # Bingo! mysqld 2024 howard 12u unix 0x08a70870 0t0 /tmp/mysql.sock mysqld 2024 howard 13u REG 14,2 2048 1013034 /usr/local/var/mysql/mysql/host.MYI mysqld 2024 howard 14u REG 14,2 0 1013035 /usr/local/var/mysql/mysql/host.MYD mysqld 2024 howard 15u REG 14,2 2048 1013037 /usr/local/var/mysql/mysql/user.MYI mysqld 2024 howard 16u REG 14,2 736 1013038 /usr/local/var/mysql/mysql/user.MYD mysqld 2024 howard 17u REG 14,2 5120 1013030 /usr/local/var/mysql/mysql/db.MYI mysqld 2024 howard 18u REG 14,2 3080 1013032 /usr/local/var/mysql/mysql/db.MYD

#1 楼 @lgn21st windows 有 socket file 吗??

#7 楼 @hayeah 啊,这个啊,我还真不知道,说出来不怕笑话,我还真从来没有在 windows 上装过 MySQL。

WINDOWS 也有 socket Windows SOCKET 编程 http://wenku.baidu.com/view/1f27acf5f61fb7360b4c65e4.html

别把 SOCKET 跟 TCP/IP 搞混了,两者完全不是一个概念,虽然实现了同样的连接。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号