mysql突然宕机修复
一、场景
mysql的宿主机如果突然出现宕机的情况,比如断电、硬件故障,会导致mysql的数据库文件损坏,导致应用服务启动后,查询某些表导致mysql数据库服务宕机的情况。
二、修复方法
1、 data文件备份
- 第一种:找到mysql安装目录下的data文件夹,将整个文件夹进行copy,备份
- 第二种:直接导出mysql的数据库,形成sql文件(大概率此种方法不行)
2、修改my.ini参数
[mysqld]
# mysql启动后自动修复损坏的表
innodb_force_recovery = 1
3、导出数据库
尝试导出数据库文件,如果能正常导出,则可以继续操作
mysqldump -u 用户名 -p 数据库名 > 备份文件名.sql
4、新建数据库实例
在另外的服务器上搭建mysql数据库服务,搭建方法参考《windows安装mysql》
搭建后,新建新的数据库,并将上述导出的sql进行导入
5、程序切换为新的数据库
三、其他
1、 继续使用原先的数据库服务
如果想继续使用原先的数据库,请先保证导出后的sql文件数据灭有丢失再删除原先的数据库,如果原先的损坏的数据库不删除,直接新建一个数据库,导入时,数据库服务也会出现异常现象,所以最靠谱的是把损坏的数据库直接删除,或者把mysql下的整个data文件夹删除后,重新初始化数据库。删除data文件夹其他的数据库也会一并删除。
2、数据库的备份
参考《mysql导出、导入、备份》
评论区