温馨提示×

centos怎么修复mysql

小樊
41
2026-10-14 13:15:13
栏目: 云计算

在 CentOS 上“修复 MySQL”通常分几种常见情况,下面按最常见问题给你一套排查和修复思路,你可以对照自己的情况操作。


一、MySQL 起不来(最常用)

1. 查看错误原因

systemctl status mysqld
journalctl -xe

或看日志:

cat /var/log/mysqld.log

2. 常见原因 & 修复

✅ 磁盘空间满

df -h

如果 / 或 /var 满:

  • 清理日志
  • 删除无用文件
  • 重启 MySQL

✅ 权限问题(数据目录)

ls -ld /var/lib/mysql

修复权限:

chown -R mysql:mysql /var/lib/mysql
chmod 750 /var/lib/mysql
systemctl restart mysqld

✅ InnoDB 崩溃恢复

日志常见:

InnoDB: Database page corruption

尝试:

systemctl stop mysqld
mysqld --innodb_force_recovery=4

注意:仅用于导出数据,不要长期运行

然后备份:

mysqldump -uroot -p --all-databases > all.sql

✅ PID 文件或 sock 文件丢失

rm -f /var/lib/mysql/mysql.sock
systemctl restart mysqld

二、忘记 root 密码

CentOS 7/8 重置密码

systemctl stop mysqld
mysqld_safe --skip-grant-tables &

另开终端:

mysql

执行:

FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass123!';
exit;

重启:

systemctl restart mysqld

三、MySQL 被误删 / 损坏严重

重装 MySQL(保留数据)

systemctl stop mysqld
yum remove mysql-server
yum install mysql-server
systemctl start mysqld

如果数据还在 /var/lib/mysql,一般可直接恢复。


四、常见快速修复命令汇总

systemctl restart mysqld
mysqlcheck -u root -p --auto-repair --all-databases

五、建议你补充的信息(我可以更精准帮你)

请告诉我:

  1. CentOS 版本(7 / 8 / Stream?)
  2. MySQL 版本
  3. 报错信息(直接贴日志)
  4. 是起不来 / 数据丢失 / 密码忘了 / 表坏了

我可以一步一步带你修。

0 踩