以下是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
定期更新系统表,确保兼容性。操作前建议:备份重要数据,优先在测试环境验证解决方案。若问题复杂,可结合错误日志联系官方支持。
参考来源: