MySQL问题汇总
1. 处理问题的思路
-
出问题,
看日志
-
分析
具体有什么错误 -
针对错误
解决问题
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服务启动失败。
可能的原因是是:
- 端口占用
- 配置文件有错误(可能刚改过配置文件)
例子2:
连接时报错:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
连接不到,可能的原因:
- 一般是mysql没有启动或者启动失败
- 如果服务已启动,可参考 https://www.2cto.com/databa…