以下是Debian系统下MySQL故障的排查技巧:
检查服务状态
sudo systemctl status mysql # 查看服务是否运行
sudo systemctl start mysql # 启动服务(若未运行)
查看错误日志
sudo tail -f /var/log/mysql/error.log # 实时查看错误信息,定位启动失败或异常原因
验证配置文件
检查 /etc/mysql/my.cnf 或 /etc/mysql/mysql.conf.d/mysqld.cnf,确保 datadir、socket、bind-address 等配置正确。
处理权限问题
sudo chown -R mysql:mysql /var/lib/mysql # 确保数据目录属主为mysql
sudo chmod -R 750 /var/lib/mysql # 设置正确权限
排查系统资源
top/htop 查看CPU、内存占用是否异常。df -h 检查磁盘空间是否充足,清理或扩容(若不足)。检查端口与网络
sudo netstat -tuln | grep 3306 # 确认3306端口未被占用
sudo ufw allow 3306/tcp # 开放防火墙端口(若需远程访问)
使用MySQL工具诊断
mysqladmin:查看服务器状态(如 mysqladmin -u root -p status)。mysqlcheck:检查和修复表(如 sudo mysqlcheck -u root -p --all-databases --auto-repair)。分析慢查询与性能
slow_query_log=1),通过 SHOW PROCESSLIST 或 pt-query-digest 分析低效SQL。innodb_buffer_pool_size)并定期维护表(OPTIMIZE TABLE)。处理特殊场景
/var/run/mysqld 目录并赋予权限(针对特定错误)。sudo apt --fix-broken install 修复。提示:操作前备份重要数据,若无法解决可参考官方文档或社区论坛。