MySQL地狱……无法连接数据库/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
解决方法:
您正在尝试为服务器和客户端使用不同的套接字.您的Rails正在尝试连接到/tmp/mysql.sock,MySQL正在侦听/var/mysql/mysql.sock.
通常MySQL配置存储在/etc/my.cnf中,但是在你的输出中我看到套接字路径是作为参数给出的.所以真的取决于你的系统的具体细节.
无论如何,请查看/etc/my.cnf和您的database.yml,并确保mysql.sock出现在两个文件中的相同路径中.
标签:mysql,ruby-on-rails,sockets,mysql-sock,osx-server 来源: https://codeday.me/bug/20190626/1298160.html