mysql的inndb服务器宕机数据还原:使用ibdata1及数据库文件夹(*.frm,*.ibd)还原数据

你可能试过innodb_force_recovery等方法,但是启动mysql时还失败。这可能需要完整的binlog日志吧。一旦日志损坏则无法完成还原。

本还原方法要求用户在/etc/my.cnf中配置innodb_file_per_table=1,才行。如果没有配置不能保证还原成功,因为只有配置了在数据库文件夹里才会显示*.ibd文件。

我们希望将主机A的mysql服务由主机B接管,所以要求主机B与主机A的/etc/my.cnf基本配置相同(尤其是innodb_buffer_pool_size、default-storage-engine、innodb)。

主机A:mysql宕机(内存过小、突然关机等、硬盘空间满)造成mysql无法正常启动。
主机B: 与主机A配置相同的机器。

#由于硬盘太小,所以备份所需要文件之前后添加一个卷。


#备份到主机A的ibdata和希望还原的数据库文件夹到/bak/目录下。

cp -r /var/lib/mysql/ibdata1 /bak/

#yum install -y mysql-server  //注意/etc/my.cnf配置与主机A的/etc/my.cnf基本配置相同(尤其是innodb_buffer_pool_size、default-storage-engine、innodb)。
#service mysqld start     [ok]    //此步是为了初始化mysql服务器。

Initializing MySQL database:  Installing MySQL system tables...
OK

#service mysqld stop             //为了拷贝主机A的备份数据做准备
#拷贝主机A的/bak/*到主机B的/var/lib/mysql/目录下。提示是否覆盖ibdata时,确认覆盖。

#修改拷贝文件的权限:

chmod -R 777 数据库名/
chown -R mysql:mysql 数据库名/

#service mysqld start     [ok]     //还原数据完成,以下测试数据库。

#mysql -uroot -p               


有问题可以留言,随时交流。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

e421083458

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值