装了个虚拟机,上面跑了一些应用,包括MySQL,第二天准备用的时候发现连接不上了,也就是下面 这个报错
搜索一番后,大概了解了这个问题的原因:
mysql提供了两种登陆方式:
一种的TCP/IP连接
另一种则是Socket连接
这里sock文件的报错也就是Socket文件的错误
mysql.sock的作用是程序与mysqlserver处于同一台机器,发起本地连接时可用。
mysql.sock是随每一次 mysql server启动生成的,而我前一天关闭虚拟机时可能没注意关掉MySQL,然后今天登录时,MySQL server从/tmp中招mysql.sock文件没找着(关机清理掉了缓存),最终找不到这个文件而启动失败
解决方案也很简单,直接重启mysql服务,让他再次生成mysql.sock文件就可以了
参考: