Mysql文件mysql.sock丢失丢失的原因一般是因为配置文件不一致的原因,mysqld 错误启动,mysqld_safe 会清除一次mysql.sock 。判断解决故障时没有切换到mysql用户,造成权限有问题,无法创建mysql授权表,所以也就无法创建/tmp/mysql.sock 和hostname.pid文件。
因此,总结解决方法如下:
# /usr/local/bin/mysql_install_db //重建授权表
# /usr/local/bin/mysqld_safe &
# /usr/local/bin/mysql //测试
mysq>bye;
文件已经解决,重新生成新的/tmp/mysql.sock 和 hostname.pid
我在mac上也遇到类似的问题,mysql是通过brew安装的。运行提示无法通过tmp/mysql.sock连接mysql,在安装的bin/目录下执行mysql_install_db执行失败,直接mysqld_safe启动mysqld,之后就可以运行mysql了。