MySQL问题汇总

MySQL问题汇总

1. 处理问题的思路

  1. 出问题,看日志

  2. 分析具体有什么错误

  3. 针对错误解决问题

2. 具体步骤

查看日志

cat /var/log/mysqld.log

或者使用less,tail 命令,根据具体场景选择。
warning和note不用管,直接看error

2018-08-21T12:41:21.480445Z 0 [ERROR] Can’t start server: Bind on TCP/IP port: Address already in use
2018-08-21T12:41:21.480449Z 0 [ERROR] Do you already have another mysqld server running on port: 3306

意思是3306端口占用

那么就查看哪些应用占用了端口,是不是服务已经启动,或者其他服务占用端口

lsof -i:3306

或者

netstat -anp|grep 3306

根据自己的需求(不是生产环境可以随意玩)可以直接kill该进程

kill -9 xxx

然后重启服务

service mysqld restart

3. 可能的问题

例子1:

启动时报错

Redirecting to /bin/systemctl start mysqld.service
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.

Job for mysqld.service failed,MySQL服务启动失败。

可能的原因是是:

  1. 端口占用
  2. 配置文件有错误(可能刚改过配置文件)

例子2:

连接时报错:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

连接不到,可能的原因:

  1. 一般是mysql没有启动或者启动失败
  2. 如果服务已启动,可参考 https://www.2cto.com/databa…

4. 参考

https://blog.csdn.net/qq_391…

https://www.runoob.com/w3…

原文地址:https://www.cnblogs.com/zhangnianlei/p/12239235.html