以下是Linux MariaDB故障排查的核心技巧,覆盖常见场景及对应解决方法:
服务状态与日志
sudo systemctl status mariadb 查看服务运行状态,失败时通过 sudo journalctl -u mariadb 或 /var/log/mysql/error.log 查看详细错误信息。配置文件验证
/etc/my.cnf 或 /etc/mysql/my.cnf,重点关注 port、datadir、socket 等参数是否正确,修改后需重启服务。服务无法启动
/var/lib/mysql)属主为 mysql,权限为 755,使用 sudo chown -R mysql:mysql /var/lib/mysql 修复。sudo netstat -tulnp | grep 3306 检查端口占用,修改配置文件中端口或停止冲突进程。df -h 查看,清理空间或扩展磁盘。连接异常
ping、telnet 测试网络连通性,检查防火墙是否放行 3306 端口。mysql -u root -p 登录后执行 SHOW GRANTS FOR '用户名'@'主机';,确保权限正确。性能瓶颈
slow_query_log=1),通过 SHOW PROCESSLIST 或 pt-query-digest 定位低效SQL,优化索引或重写语句。top、htop 监控CPU/内存使用,调整 innodb_buffer_pool_size(建议设为物理内存60%-70%)。数据异常
CHECK TABLE 表名 检查,REPAIR TABLE 表名 修复,严重时从备份恢复。SHOW BINARY LOGS 查看日志大小,用 PURGE BINARY LOGS BEFORE '日期' 清理。iotop、Percona Monitoring and Management 实时监控数据库负载。sudo setenforce 0 或 sudo aa-disable)并调整策略。mysqldump 或专业备份工具。mysql_upgrade 定期更新系统表,确保兼容性。操作前建议:备份重要数据,优先在测试环境验证解决方案。若问题复杂,可结合错误日志联系官方支持。
参考来源: