刚装完Mysql5.7,将Mysql添加到开机自启。reboot之后mysql服务却没启动起来,
直接输入mysql –uroot –p ,出现如下错误,找不到mysql.sock文件。用service mysql restart试了下,但是之后再次连接还是报错。
先说一下整体思路,这种情况的先看看是否有mysql.sock文件,
①假如有这个文件,那么检查下/etc/my.cnf中的socket的路径,看看两个路径是否一致。保持一致后,再次重启就可以解决了。
②假如没这个文件,表示就没生成这个文件。用mysqld –user=root & 启动,之后就能解决这个问题。
下面来描述下具体的过程。
1.先全局查找mysql.sock文件,结果全局并没有找到。
2.以上用service mysql restart命令去直接重启报错,证明这个命令不行。可以尝试一下其他启动命令。如mysqld –user=root,之后便成功了。 当然这一步也可以把user=root这个配置到/etc/my.cnf中的[mysqld]下,这样再用service mysql restart这种命令就会恢复正常。
注:假如在文件种发现mysql.sock文件,路径和my.cnf一致,但是再启动还是报错(如下图),可以将mysql.sock文件删除,之后再重启。
/etc/my.cnf 文件
# 设置mysql的安装目录 basedir = /usr/local/mysql # 设置mysql数据库的数据的存放目录 datadir = /usr/local/mysql/data character-set-server=utf8 # 允许最大连接数 max_connections=200 port = 3306 # server_id = ..... socket = /tmp/mysql.sock # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # Remove leading # to set options mainly useful for reporting servers. # The server defaults are faster for transactions and fast SELECTs. # Adjust sizes as needed, experiment to find the optimal values. # join_buffer_size = 128M # sort_buffer_size = 2M # read_rnd_buffer_size = 2M #sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES #explicit_defaults_for_timestamp=true user=root
[解决方法]MySql提示:The server quit without updating PID file(…)失败
启动mysql时显示:/tmp/mysql.sock 不存在的解决方法