mysql备份

Mysql,endb

    50m

    20g



完全+增量

   1.full

   2.6 hours:incrememntal



   mysqldumo --databases endb | gzip -9 endb-‘data+%F‘.gz  ====》完全备份


   增量备份的数据在二进制日志里面:

       mysqldumo --databases --master-data=2(会取得二进制日志文件的起始位置)

endb


        mysqlbinlog --start-datetime=             --stop-datetime=   (备份这一段时间的数据)







基于快照做备份:

1.首先对数据库施加读锁

mysql>flush tables with read lock;


2.记录二进制日志文件的文件名和起始位置

mysql>show master status;


3.退出mysql,创建快照卷

shell#lvcreate


4.解锁数据库

mysql>unlock tables;


5.挂在快照卷,复制数据文件


6.删除快照卷




操作:

1.mysql>flush tables with read lock;


2.mysql>show master status;

 mysql-bin.000005   16159


3.shell#lvcreate -L 150M -s -p r -n mybackup /dev/myvg/mydata(对那个卷)


4.unlock tables;


5.mkdir /backup


6.mount -o ro /dev/myvg/mybackup /backup/


7.cd /backup     ===>data

对于innodb:备份ib_logfile0 ibdata1 对应数据库文件

     myisam:数据库文件的数据都在一个目录



8.(备份文件不要跟当前文件放在一个目录下)

tar jcf /root/data_back-‘date+%F‘.tar.bz2 data/



9. cd /root/

   tar xf data_back-2011-12-17.tar.bz2 -C /tmp

   cd /tmp


10.rm -rf data/


11.umount /backup


12.lvremove --force /dev/myvg/mybackup



=====>特殊情况,如果此时数据库有操作,可是备份数据没有哟

1.service mysqld stop

2.mysqlbinlog --start-position=16159 --stop-position=16412   mysql-bin.000005 > /root/a.sql

====>切记:二进制日志文件最好备份一下,放在另一个盘或者ssh到其他服务器

3.还原tmp目录下的data目录

4.还原有操作的数据:source /root/a.sql    

:属于   几乎热备(物理备份)





开源的企业级工具:zrm baculz


本文出自 “Linux运维” 博客,请务必保留此出处http://2853725.blog.51cto.com/2843725/1377321

mysql备份,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。