码迷,mamicode.com
首页 > 数据库 > 详细

Mysql数据文件损坏如何恢复至最新状态

时间:2018-06-16 11:51:57      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:create   min   inline   TE   准备   nsa   alt   vim   技术分享   

准备环境:

两台主机:
A: 192.168.1.6   数据损坏
B: 192.168.1.7   数据恢复

搭建步骤:

主机A(192.168.1.6):

  • 完全备份数据库

mysqldump -A -F --single-transaction --master-data=1 > /backup/fullbak`date +%F`.sql

技术分享图片技术分享图片

标红的位置是完全备份后最新生成的新的二进制文件及位置(之前全部备份),用于二进制日志恢复

  • 修改数据库

mysql> create database db1;
mysql> create database db2;
  • 模拟数据文件损坏

# rm -rf /var/lib/mysql/*
  • 关闭数据库

systemctl stop mariadb
  • 备份二进制日志

mysqlbinlog --start-position=245 mariadb-bin.000002 > /backup/bin.sql
  • 复制备份日志至主机B

scp /backup/fullbak2018-06-16.sql /backup/bin.sql  192.168.1.7:/root/


主机B(192.168.1.7):

  • 关闭网络监听

vim /etc/my.cnf
[mysqld]
skip_networking
  • 开启数据库

systemctl start mariadb
  • 恢复数据

mysql < /root/fullbak2018-06-16.sql    完全备份恢复
mysql < /root/bin.sql                  二进制日志恢复



Mysql数据文件损坏如何恢复至最新状态

标签:create   min   inline   TE   准备   nsa   alt   vim   技术分享   

原文地址:http://blog.51cto.com/9980200/2130012

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!