1.数据备份

先查看数据库表的数据,这里面时000001里面的数据

mysql(3)-备份恢复

将数据以sql的形式备份到/tmp目录下,备份的是000001的数据

mysqldump -uroot mysql -l -F > /tmp/mysql1.sql

-l:锁表,在备份的时候不让其他客户端操作数据库,以免备份数据不完整
-F:即flush logs,可以重新生成新的日志文件,包括bin-log日志

mysql(3)-备份恢复

flush logs 让当前的bin-log日志为000002

mysql(3)-备份恢复

在000002的时候插入一些数据

mysql(3)-备份恢复

flush logs 让当前的bin-log日志为000003

mysql(3)-备份恢复

2.系统故障,数据表丢失

将数据表hadoop1_test删除,所有的数据都丢失了。

mysql(3)-备份恢复

3.数据恢复

先将备份数据恢复到数据库中

mysql -uroot mysql -v -f < /tmp/mysql1.sql

-v:查看导入的详细信息
-f:当导入遇到错误时,可以skip过去,继续执行下面的语句

mysql(3)-备份恢复

这里面的数据其实恢复的并不完整,还有一部分在备份和故障之间的数据没有恢复进来,此时就需要使用到bin-log日志进行数据的恢复。
再将未备份的数据恢复到数据库中。

mysqlbinlog –no-defaults binlog-file | mysql -uroot mysql

–no-defaults:排除字符集问题
–start-position=”196”:position开始位置
–stop-positions=”233”:position结束时间(恢复position为196-233之间的操作)
–start-date=”2016-11-08 12:33:09”:执行时间
–stop-date=”2016-11-08 12:35:09”:结束时间(两个时间点之间的操作)
binlog-file:binlog二进制日志文件

mysql(3)-备份恢复

到此,数据完全恢复

相关文章:

  • 2021-10-16
  • 2022-03-10
  • 2022-01-29
  • 2021-12-17
  • 2021-09-29
猜你喜欢
  • 2021-12-27
  • 2022-01-03
  • 2021-12-15
  • 2021-09-25
  • 2021-09-13
  • 2021-07-09
  • 2021-05-15
相关资源
相似解决方案