网站突然数据库不能用了怎么恢复?从日志入手定位错误
问题原因:
数据库崩溃可能由连接数耗尽、磁盘满、死锁或版本不兼容导致,需系统化排查。
恢复步骤表格:
数据库崩溃可能由连接数耗尽、磁盘满、死锁或版本不兼容导致,需系统化排查。
恢复步骤表格:
排查阶段 | 操作命令/方法 | 关键日志线索 |
---|---|---|
1. 检查服务状态 | systemctl status mysql (Linux)或事件查看器(Windows) |
"Can't connect to MySQL server" |
2. 分析错误日志 | MySQL日志路径:/var/log/mysql/error.log |
"InnoDB: Disk is full"或"Deadlock found" |
3. 紧急恢复 | 重启服务:service mysql restart <br>单用户模式修复:mysqld_safe --skip-grant-tables |
注意:可能丢失未提交事务 |
4. 数据修复 | 使用mysqlcheck -r 修复表<br>从备份恢复:mysql -u root -p dbname < backup.sql |
备份优先!可尝试innodb_force_recovery=6 |
5. 预防措施 | 设置监控报警(如Prometheus+Alertmanager) | 监控连接数、磁盘空间等 |
更新时间:2025-07-03 09:48:54