MySQL hell…无法连接到数据库/tmp/mysql.sock
更新:我已经停止运行的旧mysql进程并导致一些混乱。现在我想我只有更新的(5.1.40)版本在运行。但是,它指向错误的数据文件。它指向一个默认的安装数据文件,我希望它指向
/var/mysql
中的现有数据文件。这是/etc/my.cnf的一部分
# The following options will be passed to all MySQL clients
[client]
#password = your_password
port = 3306
socket = /var/mysql/mysql.sock
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
port = 3306
socket = /var/mysql/mysql.sock
这是指向较旧的mysql.sock。我似乎无法在较新的MySQL安装的目录树中找到?!?除非它在某个地方模糊不清。
有人帮吗?基本上我安装了一个较新的MySQL,现在需要使用我现有的数据启动这个新版本。并解决这个mysql.sock事情....
我最近在Mac OS X Server上更新了MySQL,并且从轨道应用程序连接到它有一段时间。或者从命令行始终如一。
我确定这是一个明显的错误,但我只有适度的命令行经验,所以希望有人可以帮助......
也相关的是我的rails应用程序不再可以连接。无法通过/tmp/mysql.sock
连接,但我不确定为什么它在那里看,因为/ tmp中没有mysql.sock,我不知道它应该是什么/应该在哪里....
编辑:从mysql_config --sockets添加结果
$ mysql_config --sockets
Usage: /usr/local/mysql/bin/mysql_config [OPTIONS]
Options:
--cflags [-I/usr/local/mysql/include -g -Os -arch ppc -fno-common -D_P1003_1B_VISIBLE -DSIGNAL_WITH_VIO_CLOSE -DSIGNALS_DONT_BREAK_READ -DIGNORE_SIGHUP_SIGQUIT -DDONT_DECLARE_CXA_PURE_VIRTUAL]
--include [-I/usr/local/mysql/include]
--libs [-arch ppc -L/usr/local/mysql/lib -lmysqlclient -lz -lm -lmygcc]
--libs_r [-arch ppc -L/usr/local/mysql/lib -lmysqlclient_r -lz -lm -lmygcc]
--plugindir [/usr/local/mysql/lib/plugin]
--socket [/tmp/mysql.sock]
--port [0]
--version [5.1.40]
--libmysqld-libs [-arch ppc -L/usr/local/mysql/lib -lmysqld -ldl -lz -lm -lmygcc]
Edit2里面有mysql_config
$ which mysql_config
/usr/local/mysql/bin/mysql_config
没有找到相关结果
已邀请:
3 个回复
苛肠倒俱
磐乓铝举
绕过套接字连接并建立TCP连接。
翰冒绢县
实际上需要一堆参数:
您需要更改的是“socket”参数。在我在Mac OS X上的Python应用程序中,我必须将该套接字参数设置为
。 请注意,它不是您需要更改的主机,它是实际的套接字。您可以在配置中使用
参数吗? 所以这就是你能做的...... 在OS X的终端中运行命令行上的命令
,它应该返回你需要使用的“socket”的值(可能是
)。 然后在您的database.yml文件中,确保添加以下行:
我主要通过OS X上的Python来解决这个问题并以类似的方式修复它,但我猜想Ruby会给你同样的问题。