首先看看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 127.0.0.1 -p
-h命令指定用TCP/IP连接