要修复 Debian 上的 MySQL 错误,需要先看具体是什么错误。下面我按「常见错误场景 → 排查步骤 → 修复方法」给你一个实用指南。你可以对照自己的情况操作。
sudo systemctl status mysql
sudo journalctl -xe
sudo tail -n 50 /var/log/mysql/error.log
把错误信息复制出来(例如:
Can't start server, Table doesn't exist, Access denied, InnoDB corruption)
现象
Job for mysql.service failed
排查
sudo mysqladmin version
sudo ls -ld /var/lib/mysql
常见原因 & 修复
sudo chown -R mysql:mysql /var/lib/mysql
sudo systemctl restart mysql
df -h
修复(重置 root 密码)
sudo systemctl stop mysql
sudo mysqld_safe --skip-grant-tables &
然后:
mysql -u root
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
EXIT;
sudo systemctl restart mysql
错误示例
InnoDB: Database page corruption
修复
编辑 /etc/mysql/my.cnf:
[mysqld]
innodb_force_recovery = 1
依次尝试 1 → 6,启动后导出数据,再重建。
Debian 10+ 默认是 MariaDB
检查:
mysql --version
如果是 MariaDB:
sudo apt install mariadb-server
sudo netstat -tulnp | grep 3306
检查:
sudo mysqlcheck --all-databases
sudo apt update
sudo apt install --reinstall mysql-server
sudo dpkg --configure -a
sudo systemctl restart mysql
请把以下信息发我:
cat /etc/debian_version)我可以直接告诉你对应的一行修复命令。