在CentOS 7机器上,尝试从终端登录mysql时出现以下错误:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
然后,我尝试了cd /var/lib/mysql
和ls -al
,但是结果文件列表不包含mysql.sock
。那么在哪里可以找到mysql.sock
以及如何解决该错误?
这是我已经尝试过的一些方法:
1.)当我看到systemctl status mysqld
表明mysql已停止时,我也尝试了一下,systemctl start mysqld
但是终端只是给出了一个没有响应的游标而没有新的提示,就好像它一直在等待某些东西,但是它无限期地处于这种混乱状态。
2.)因此,我打开了另一个终端窗口并运行systemctl status mysqld
,只是看到mysqld重新启动了。但是错误仍然存在。
3.)我尝试过,find / -name "mysql.sock"
但回应是find: ‘/run/username/1000/gvfs’: Permission denied
。
4.)然后,我阅读了此帖子并进行了尝试,mysqladmin | grep d.sock
但没有结果。
5.)我什至诉诸于其yum remove mysql
后的yum install mysql
,但是mysql -u root
在本贴子的顶部仍然给出了相同的原始错误。
6.)然后,我阅读了另一篇文章,但mysqladmin variables
给出了相同的错误,即由于mysql.sock
找不到该错误而无法连接。
7)我试过ln -s /tmp/mysql.sock /var/mysql/mysql.sock
,但即使到MySQL的链接显形坚持同样的错误,当我试图cd /var/lib/mysql/
和ls -al
8.)由于问题可能与systemctl start mysqld
挂断有关,因此我阅读了此帖子并进行了尝试chown -R mysql:mysql /var/lib/mysql
,systemctl start mysqld
但结果是Failed to issue method call: Unit mysqld.service failed to load: No such file or directory.
9.)然后,我阅读了此帖子,这使我无法运行mysql --help | grep "Default options" -A 1
。结果打印了要mysql
查找的位置my.cnf
。因此,我检查了每个位置,没有my.cnf
找到文件。但是我确实找到了mysql.cnf.rpmsave
,所以我尝试了mv mysql.cnf mysql.cnf.rmpsave
。这导致my.cnf
在预期目录中存在一个,但systemctl status mysqld
表示mysqld
未找到。我yum install mysql
再次尝试,但它告诉我mysql
已经安装。因此,我怀疑新重命名的文件my.cnf
已损坏。如果是这样,我该如何解决? 这是指向my.cnf
文件共享站点上新重命名的副本的链接。
意识到这是一个古老的帖子,但是我本人偶然遇到了这个帖子,发现很难找到合适的解决方案。我通过执行以下操作解决了该问题:
安装zlib
:
32-Bit Debian/Ubuntu: apt-get install zlib1g
64-Bit Debian/Ubuntu: apt-get install lib32z1
32/64-Bit Fedora: yum install zlib.i686
32/64-Bit Mandriva: urpmi zlib1
32-Bit SUSE: zypper install libz1
64-Bit SUSE: zypper install libz1-32bit
连接到,127.0.0.1
而不是localhost
如果您可以使用该选项。使用MySQL通过127.0.0.1
并localhost
使用不同的方法进行连接(前者为TCP,后者为Sock)
确保您的防火墙没有在内部阻止端口,或者考虑暂时禁用它以确保不是这种情况。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句