本地命令连接mysql出现cant connect to mysql server through socket '/tmp/mysql.sock'

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_32448349/article/details/81870855

首先看看mysql.sock是什么

Mysql有两种连接方式:

(1)TCP/IP

(2)socket

对mysql.sock来说,其作用是程序与mysqlserver处于同一台机器,发起本地连接时可用。

例如你无须定义连接host的具体IP得,只要为空或localhost就可以。

在此种情况下,即使你改变mysql的外部port也是一样可能正常连接。

问题解决

想想为什么会出现这个问题,首先看这个文件的位置是tmp,这是一个临时文件目录,当磁盘空间不足的时候或是其他原因导致这个文件夹下面的mysql.sock文件删除。

1.用df -h命令查询tmp所在的磁盘空间是否充足,如果磁盘已满,删除挂在分区下面不必要的数据,reboot重启即可。

cant connect to mysql server through socket '/tmp/mysql.sock'

建议不要把这个文件放到临时目录。修改/etc/my.cnf 中的

后面一行socket=指定位置即可。

2.用TCP/IP连接数据库

%mysql -u root -h 192.168.0.1 -p 

-h命令指定用TCP/IP连接

猜你喜欢

转载自blog.csdn.net/qq_32448349/article/details/81870855
今日推荐