解决 Can’t connect to local mysql s…

2018-07-13 08:54:22来源:编程学习网 阅读 ()

新老客户大回馈,云服务器低至5折

我安装的是lnmp0.7一键安装包,之前一直正常使用。可是今日重启了一下nginx后,奇怪的问题出现了:

Discuz X2出来错误:

[Type] 无法连接到数据库服务器
[2002] Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock‘ (2)
或是这个错误(Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2))

clip_image002

phpMyAdmin也无法用root登陆

#2002 无法登录 MySQL 服务器

clip_image004

找了一下/tmp/也找不到mysql.sock

clip_image006

解决方法:

1、 登陆ssh,使用以下命令

ps -aux|grep mysql

clip_image008

2、 然后结束你看到的pid

kill pid

(如,我的话就是要运行kill 17874;kill 17987;kill 30579;)

3、 最后重启mysql

/etc/rc.d/init.d/mysql restart

或者

service mysql restart

嘿嘿,成功了!/tmp/mysql.sock出现了!

clip_image0024

如果你的情况跟我的不一样可以参考以下文章:

解决方法:php标准配置正是通过’/tmp/mysql.sock’,但一些mysql安装方法将mysql.sock放在/var/lib/mysql.sock或者其他地方,你可以通过修改/etc/my.cnf文件来修正它,打开文件

更改一下:

[mysqld] 

socket=/var/lib/mysql.sock 

假如更改后mysql程序连不上,可以使用下面的方法继续修改:

[mysql] 

socket=/tmp/mysql.sock

另外还可以用下面的方法:

ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock

Can not connect to local MySQL server through socket 解决办法

寻找 mysql.sock文件

find / -name mysql.sock

1. 先查看 /etc/rc.d/init.d/mysqld status 看看mysql是否已经启动,另外看看是不是权限问题。

2. 确定你的mysql.sock是不是在那个位置

mysql -u 你的mysql用户名 -p -S /var/lib/mysql/mysql.sock

3、试试

service mysqld start

4、如果是权限问题,则先改变权限

chown -R mysql:mysql /var/lib/mysql

/etc/init.d/mysqld start

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:使用301重定向代码合集

下一篇:Linux命令之telnet – 基于TELNET协议的远程登录工具

热门词条
热门标签