ubuntu mysql如何解决故障
导读:Ubuntu 上 MySQL 常见故障排查与修复 一 快速定位 查看服务状态与最近日志,优先定位错误关键字: 服务状态:sudo systemctl status mysql 错误日志:sudo tail -n 50 /var/log/...
Ubuntu 上 MySQL 常见故障排查与修复
一 快速定位
- 查看服务状态与最近日志,优先定位错误关键字:
- 服务状态:
sudo systemctl status mysql - 错误日志:
sudo tail -n 50 /var/log/mysql/error.log
- 服务状态:
- 若服务未运行,尝试启动并观察输出:
sudo systemctl start mysql - 检查系统资源(磁盘、内存)是否异常,避免因资源不足导致启动或运行失败:
df -h
以上步骤能快速判断是配置、权限、磁盘还是服务本身的问题,从而决定后续修复路径。
二 无法启动 Failed to start MySQL Community Server
- 配置文件语法或参数错误:
- 主配置通常位于:/etc/mysql/my.cnf 或 /etc/mysql/mysql.conf.d/mysqld.cnf
- 修正后重启:
sudo systemctl restart mysql
- 数据目录权限异常:
- 数据目录默认 /var/lib/mysql
- 修复权限:
sudo chown -R mysql:mysql /var/lib/mysql
- 磁盘空间不足:
- 检查:
df -h - 清理不必要文件后重试启动
- 检查:
- 安装损坏或升级异常:
- 修复安装:
sudo dpkg-reconfigure mysql-server-< 版本号> - 仍无效时先备份数据再重装(见文末“数据安全提示”)
以上为最常见根因与对应修复动作,通常可恢复启动。
- 修复安装:
三 连接失败 Access denied ERROR 1045 或 ERROR 1698
- 本地认证方式问题(常见于 Ubuntu 安装后 root 默认使用 auth_socket):
- 使用系统维护账号登录:
sudo mysql(或读取 /etc/mysql/debian.cnf 的 debian-sys-maint 凭据登录) - 修改 root 认证与密码:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';FLUSH PRIVILEGES;
- 使用系统维护账号登录:
- 远程连接被拒(ERROR 1130 或无法远程连 3306):
- 授权用户:
GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码'; FLUSH PRIVILEGES; - 配置监听地址:编辑 /etc/mysql/mysql.conf.d/mysqld.cnf,将 bind-address 设为 0.0.0.0(或注释掉该行),并重启
- 防火墙放行:
sudo ufw allow 3306/tcp
以上步骤覆盖本地认证、远程授权与网络访问三个维度,能解决绝大多数连接问题。
- 授权用户:
四 本地套接字或端口连接错误 ERROR 2002 或 ERROR 2003
- 套接字错误(Can’t connect through socket):
- 确认服务已运行:
sudo systemctl status mysql - 检查套接字路径一致性(客户端与服务器配置中的 socket 项),必要时在 [client] 与 [mysqld] 段统一路径
- 确保运行时目录存在且属主正确:
sudo mkdir -p /var/run/mysqld & & sudo chown mysql:mysql /var/run/mysqld
- 确认服务已运行:
- 端口错误(Can’t connect to MySQL server on ‘IP’ (10061/111)):
- 确认端口为 3306 且未被占用:
sudo ss -lntp | grep 3306 - 远程访问需将 bind-address=0.0.0.0 并放行防火墙:
sudo ufw allow 3306/tcp
套接字与端口两类问题分别对应本机 socket 通信与 TCP 访问,按上述要点逐一核对即可。
- 确认端口为 3306 且未被占用:
五 数据安全提示
- 在进行修复、重装或覆盖配置前,务必先备份:
- 数据目录:/var/lib/mysql
- 配置文件:/etc/mysql/(含 my.cnf 与 mysql.conf.d 下文件)
- 错误日志:/var/log/mysql/error.log
- 若需重装,先停止服务、备份后再执行:
sudo apt-get remove --purge mysql-server* mysql-client* mysql-common,随后sudo apt-get autoremove & & sudo apt-get autoclean,再sudo apt-get install mysql-server并恢复备份与配置。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu mysql如何解决故障
本文地址: https://pptw.com/jishu/772447.html
