总结:MySQL备份与恢复的三种方法

发表于:2012-12-07 09:46

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:老广    来源:51Testing软件测试网采编

分享:

  4.5 我们来实验一下增量备份

  4.5.1 在表中新增一些数据

mysql> insert into linux (name) values ('tomcat'), ('memcache'), ('varnish');

  4.5.2 增量备份

  1. innobackupex --user=percona --password=redhat --incremental \
  2. --incremental-basedir=/myback/2012-12-02_20-06-12/ /myback/ 
  3.  
  4. --incremental 指定是增量备份 
  5. --incremental-basedir 指定基于哪个完整备份做增量备份,最后是增量备份保存的目录

  增量备份只能对InnoDB引擎做增量备份,对MyISAM的表是完全复制

  4.6 测试增量备份恢复

  1. service mysqld stop 
  2. rm -Rf /data/mydata/* 
  3. innobackupex --apply-log --redo-only /myback/2012-12-02_20-06-12/ 
  4.  
  5. --redo-only 指的是把备份时commit的但还在事务日志中的应用到时数据,但是还没提交的不撤消,
  6. 因为这个事务可能在增量备份中提交,假如的撤消了增量备份中就提交不,因为事务已经不完整

  将增量备份全并到完整备份中去

  1. innobackupex --apply-log /myback/2012-12-02_20-06-12/ \
  2. --incremental-dir=/myback/2012-12-02_20-28-49/ 
  3.  
  4. /myback/2012-12-02_20-06-12/ 这个是完整备份的目录 
  5. --incremental-dir 后跟的是增量备份的目录 
  6. 这个会使增量备份中的的数据合并到完整备份中,如果还有增量备份,继续合并,恢复时恢复完整备份即可

  恢复数据,并起动MySQL

  1. innobackupex --copy-back /myback/2012-12-02_20-06-12/ 
  2. chown -R mysql:mysql /data/mydata 
  3. service mysqld start

  查看数据有没丢失

  如果在增量备份后数据库出现故障,我们需要通过完整备份+到现在为止的所有增量备份+最后一次增量备份到现在的二进制日志来恢复。

  到此总结完成,有些细节可能把握的不够准确,如有什么错误,欢迎留言指正,感谢!

44/4<1234
价值129的会员专享直播免费赠送,添加微信领取听课名额哦~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计

法律顾问:上海漕溪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2023
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号