问题:linux服务器中误删mysqlx.sock和mysqlx.sock.lock导致mysql无法远程连接

今天在使用navicat连接远程数据库时出现一个错误

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

百度得知是缺少了mysqlx.sock和mysqlx.sock.lock这两个文件

mysql.sock文件登录mysql mysql.sock.lock_套接字

在解决之前先了解一下这个mysqlx.sock是个什么东西。

连接localhost通常通过一个Unix域套接字文件进行,一般是/tmp/mysql.sock。如果套接字文件被删除了,本地客户,远程客户就不能连接。

解决办法:

首先,更改my.cnf文件,我的服务器中的目录为/etc/my.cnf,如果没有的话可以用find去查找

mysql.sock文件登录mysql mysql.sock.lock_mysql_02

接下来就是保存退出,然后确保这个目录存在,并且将这个目录的权限修改一下

chmod 777 /var/lib/mysql

准备步骤做好,然后就是mysql和mysqld服务重启

systemctl restart mysql
systemctl restart mysqld