欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > 数据库 >内容正文

数据库

ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock

发布时间:2025/3/20 数据库 45 豆豆
生活随笔 收集整理的这篇文章主要介绍了 ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

问题描述

今天阿里云服务器安装mysql的收,遇到了一个很熟悉的问题
输入

#mysql -u root -pERROR 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_safe1876 ? 00:00:31 mysqld2.#kill -9 18293.#kill -9 18764.#/etc/init.d/mysql restart5.#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.11Type '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安装的。

二、然后重新安装yum,再安装mysql,成功解决。

安装yum方法:yum丢失安装方法

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.22Type '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.22Type 'help;' or '/h' for help. Type '/c' to clear the buffer.mysql>

希望对这些方法的总结能够对以后遇到问题的人有帮助,自己确实在这个问题上费了好多功夫,很难受。

总结

以上是生活随笔为你收集整理的ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。