Centos7由于清空过 /tmp/ 目录的所有文件产生了,连接本地数据的时候:输入密码提示这个
root@iZufkfljcZ:~# mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
在这之前,需要明白mysql.sock这个文件有什么用?
连接localhost通常通过一个Unix域套接字文件进行,一般是/tmp/mysql.sock。如果套接字文件被删除了,本地客户就不能连接。
如果你因为丢失套接字文件而不能连接,你可以简单地通过重启服务器重新创建得到它。因为服务器在启动时重新创建它。
[root@bogon ~]# service mysql restart
Redirecting to /bin/systemctl restart mysql.service
[root@bogon ~]# service mysqld restart
Shutting down MySQL.. SUCCESS!
Starting MySQL.. SUCCESS!
[root@bogon ~]#
我的重启后好使了
如果重启服务器还是没有任何变化,你可以先执行下面的语句:mysql -u root -h 127.0.0.1 -p
不出意外,这句话应该是可以执行的, 你现在不能用套接字建立连接因为它不见了,所以可以建立一个TCP/IP连接
重新指定一个不同的套接字,或者重新生成一个mysql.sock文件。
更改my.cnf文件,我的服务器中的目录为/etc/my.cnf,如果没有的话可以用find去查找。
接下来就是保存退出,然后确保这个目录存在,并且将这个目录的权限修改一下
# chmod 777 /var/lib/mysql
准备步骤做好,然后就是mysql和mysqld服务重启
# service mysql restart
# service mysqld restart
查看MySQL状态