linux下连接mysql报错ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/var/lib/mysq

首先默认已经查看过mysql服务器是否正常运行,和权限设置的问题。

2002报错大意是找不到对应文件,不能通过这个socket连接到本地mysql。

网上大多教程多说手动修改/etc/my.cnf文件
有可能还没这个文件,那就手动创建一个,添加以下内容

[mysqld] 
datadir=/usr/local/mysql/data 
socket=/var/lib/mysql/mysql.sock 

[mysql.server] 
user=mysql 
basedir=/usr/local/mysql 

[client] 
socket=/var/lib/mysql/mysql.sock 

然而service mysql restart后还是不会自动生成mysql.sock文件,依旧报错,不过这给了我启发,难道自动生成的不一定在这?
使用find命令找找

find / -name *mysql*sock*

在这里插入图片描述
果然,找到了一个很像的文件mysqld.sock
凭借之前安装mysql要解决中文乱码问题的记忆,似乎看到过mysqld.sock这家伙。
查看mysql的基本配置信息

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

可以看到默认的socket对应 /var/run/mysqld/mysqld.sock
在这里插入图片描述
所以照这修改上面第一版的/etc/my.cnf

[mysqld]
datadir=/var/lib/mysql
basedir=/usr
socket=/var/run/mysqld/mysqld.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[client]
port=3306
socket=/var/run/mysqld/mysqld.sock

重新链接mysql,大功告成!
在这里插入图片描述

参考链接:
1
2

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值