在 Debian 上修复 MySQL(或 MariaDB)错误,需要先看具体错误是什么。下面我按“常见场景 → 排查步骤 → 修复方法”给你一个实用清单,你可以对照使用。
Debian 默认常装的是 MariaDB,但命令仍是 mysql。
mysql --version
sudo tail -n 100 /var/log/mysql/error.log
或
sudo journalctl -u mysql
# 或
sudo journalctl -u mariadb
⚠️ 90% 的问题看日志就能定位
sudo systemctl status mysql
df -h
sudo chown -R mysql:mysql /var/lib/mysql
sudo systemctl restart mysql
sudo systemctl stop mysql
sudo mysqld_safe --skip-grant-tables &
然后:
mysql -u root
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
退出后重启:
sudo systemctl restart mysql
sudo mysqlcheck -u root -p --auto-repair --all-databases
或单表:
mysqlcheck -u root -p dbname tablename --repair
编辑:
sudo nano /etc/mysql/my.cnf
# 或
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
改完测试:
sudo mysqld --verbose --help | head
sudo netstat -tulnp | grep 3306
修改监听:
bind-address = 127.0.0.1
⚠️ 会丢数据,提前备份!
sudo systemctl stop mysql
sudo apt purge mysql-server mysql-client
sudo rm -rf /var/lib/mysql
sudo apt install mysql-server
你可以直接把具体错误提示或日志内容贴出来,例如:
ERROR 2002InnoDB: ...Access denied我可以精准告诉你是哪一项出了问题,并给你对应命令。
要我帮你分析具体错误吗?