在 Debian 上 MySQL(或 MariaDB)崩溃的原因有很多,常见情况可以归纳成以下几类。你可以根据自己的日志和现象对照排查。
现象
dmesg 或 /var/log/syslog 中有:Out of memory: Kill process (mysqld)
原因
innodb_buffer_pool_size 设置过大解决
free -h
dmesg | grep -i oom
调整:
innodb_buffer_pool_size = 512M # 根据内存调整
现象
检查
df -h
du -sh /var/lib/mysql
解决
现象
InnoDB: Database page corruption
查看日志
journalctl -u mysql
# 或
cat /var/log/mysql/error.log
解决
innodb_force_recovery现象
my.cnf 后无法启动检查
mysqld --verbose --help | head
解决
现象
Permission denied检查
ls -l /var/lib/mysql
修复
chown -R mysql:mysql /var/lib/mysql
apt upgrade 后 MySQL / MariaDB 升级失败查看
journalctl -u mysql -n 100
apt list --upgradable
现象
解决
/etc/apparmor.d/usr.sbin.mysqldcat /var/log/mysql/error.log
journalctl -u mysql
dmesg
cat /var/log/syslog | grep mysql
如果你希望我精确判断,可以贴出:
mysql --version)我可以帮你逐条分析具体原因。