问题描述
今天阿里云服务器安装MysqL的收,遇到了一个很熟悉的问题
输入
#MysqL -u root -p
ERROR 2002 (HY000): Can't connect to local MysqL server through socket '/var/run/MysqLd/MysqLd.sock' (2)
解决方案
一、方案1
1.#ps -A|grep MysqL
显示类似:
1829 ? 00:00:00 MysqLd_safe
1876 ? 00:00:31 MysqLd
2.#kill -9 1829
3.#kill -9 1876
4.#/etc/init.d/MysqL restart
5.#MysqL -u root -p
二、方案2
先查看 /etc/rc.d/init.d/MysqLd status 看看m y s q l 是否已经启动.
另外看看是不是权限问题.
------------------------------------------------------------------------------------
[root@localhost beinan]#chown -R MysqL:MysqL /var/lib/MysqL
[root@localhost beinan]# /etc/init.d/MysqLd start
启动 MysqL: [ 确定 ]
[root@localhost lib]# MysqLadmin -uroot password '123456'
[root@localhost lib]# MysqL -uroot -p
Enter password:
Welcome to the MysqL monitor. Commands end with ; or /g.
Your MysqL connection id is 3 to server version: 4.1.11
Type 'help;' or '/h' for help. Type '/c' to clear the buffe
他的也解决了,我的麻烦还在继续,依然继续寻找
三、方案3
问题解决了,竟然是max_connections=1000 他说太多了,然后改成500也说多,无奈删之问题解决了。
还是不行
四、方案4
/var/lib/MysqL 所有文件权限 改成MysqL.MysqL
不行不行
五、方案5
摘要:解决不能通过MysqL .sock连接MysqL问题 这个问题主要提示是,不能通过 '/tmp/MysqL .sock'连到服务器,而PHP标准配置正是用过'/tmp/MysqL .sock',但是一些MysqL 安装方法 将 MysqL .sock放在/var/lib/MysqL .sock或者其他的什么地方,你可以通过修改/etc/my.cnf文件来修正它,打开文件,可以看到如下的小编:
[MysqL d]
socket=/var/lib/MysqL .sock
改一下就好了,但也会引起其他的问题,如MysqL 程序连不上了,再加一点:
[MysqL ]
socket=/tmp/MysqL .sock
或者还可以通过修改PHP.ini中的配置来使PHP用其他的MysqL .sock来连,这个大家自己去找找
或者用这样的方法:
ln -s /var/lib/MysqL /MysqL .sock /tmp/MysqL .sock
成功了,就是这样ln -s /var/lib/MysqL /MysqL .sock /tmp/MysqL .sock
在网上查找的时候,很多人的问题都是没有开启服务,或者是方案五就能够解决。如果你和我一样苦逼,上面的方法都没有用的话,可以试一试我成功解决的方法。
我的解决方法
这个问题至少让我查了10个小时,最后无意中才解决。
一、实在没有办法,删除yum功能,因为我是通过yun安装的。
ps:另外还看到一个很有用的解决方法:
root@localhost ~]# MysqL --socket=/tmp/MysqL.sock
ERROR 2002 (HY000): Can't connect to local MysqL server through socket '/tmp/MysqL.sock' (2)
由于MysqL 默认的MysqL.sock 是在/var/lib/MysqL/MysqL.sock,但Linux系统总是去/tmp/MysqL.sock查找,所以会报错
[root@localhost ~]# find / -name MysqL.sock
/var/lib/MysqL/MysqL.sock
1.直接指定MysqL通道
[root@localhost ~]# MysqL --socket=/var/lib/MysqL/MysqL.sock
Welcome to the MysqL monitor. Commands end with ; or /g.
Your MysqL connection id is 2 to server version: 5.0.22
Type 'help;' or '/h' for help. Type '/c' to clear the buffer.
MysqL>
2. 创建符号连接:
为MysqL.sock增加软连接(相当于windows中的快捷方式)。
ln -s /var/lib/MysqL/MysqL.sock /tmp/MysqL.sock
eg:
root@localhost ~]# MysqL
ERROR 2002 (HY000): Can't connect to local MysqL server through socket '/tmp/MysqL.sock' (2)
[root@localhost ~]# ln -s /var/lib/MysqL/MysqL.sock /tmp/MysqL.sock
[root@localhost ~]# MysqL
Welcome to the MysqL monitor. Commands end with ; or /g.
Your MysqL connection id is 3 to server version: 5.0.22
Type 'help;' or '/h' for help. Type '/c' to clear the buffer.
MysqL>
希望对这些方法的总结能够对以后遇到问题的人有帮助,自己确实在这个问题上费了好多功夫,很难受。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。