您的位置:首页 > 数据库 > MySQL

Mysql数据库连接,错误提示ERROR 2002 (HY000) Can't connect to local MySQL server through socket xxx' (2)

2018-01-30 18:00 966 查看
一、问题描述
1、连接mysql数据库时,提示错误:ERROR 2002 (HY000) Can't connect to local MySQL server through socket xxx' (2);
2、提示问题,下面提供四种方案供参考解决,方案1、方案2、方案3、方案4;
3、方案4中,如果找不到自己的mysql配置文件 /etc/my.cnf(百度一下);
4、提示socket xxx为 '/var/lib/mysql /mysql.sock'时,参考方案6。
二、具体实现
方案1.
查看mysql进程,并杀掉,重启mysql。
# ps -A|grep mysql


# kill -9 4174
# kill -9 xxxx
# /etc/init.d/mysql restart或 service mysql restart
# mysql -uroot -p
Enter password:
方案2
查看mysql是否已经启动;
# /etc/init.d/mysql status 或 service mysql status
running表示运行状态,dead表示停止状态。


方案3
查看mysql是不是没有被授权,没有的话给mysql再授权一次。
#chown -R mysql:mysql /var/lib/mysql
# /etc/init.d/mysql restart或 service mysql restart
# mysql -uroot -p
Enter password:
方案4
vim /etc/my.cnf
修改[mysqlid]后面max_connections=1000的参数1000为500或小一点


方案5
修改/var/lib/mysql 所有文件所属权限为mysql:mysql(如图)
# chown mysql:mysql /var/lib/mysql/*


方案6
连接mysql时,提示 '/var/lib/mysql /mysql.sock',就是目标文件mysql.sock找不到。
mysql .sock可能会可能会根据实际安装方式的不同,存放在不同的目录下,可能是/var/lib/mysql.sock或/tmp/mysql.sock或其他目录下,我的是实际是在/tmp/mysql.sock下。
方式一:配置my.cnf
vim /etc/my.cnf
[mysqld]后面添加socket=/xxx/xx/mysql.sock,
例如,我的目标目录为/tmp/mysql.sock,则socket=/tmp/mysql.sock
socket参数值为目标文件mysql.sock的实际位置,根据自己实际环境找到这个位置。



方式二:ln 创建软连接
# ln -s 原文件 目标文件
# ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
/tmp/mysql.sock是我的mysql.sock的位置,/var/lib/mysql/mysql.sock是连接mysql的时候提示找不到的目标文件。
关于Linux ln -s软链接、硬链接参考百度答案https://zhidao.baidu.com/question/590820491.html

PS:
mysql相关操作
查状态
# /etc/init.d/mysql status或service mysql status
启动
# /etc/init.d/mysql start或service mysql start
关闭
# /etc/init.d/mysql stop或service mysql stop
重启
# /etc/init.d/mysql restart或service mysql restart
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql socket
相关文章推荐