mysql 恢复方案

 关于mysql备份方案1 mysqldump+mysqlbinlog
2010-11-26 14:56:43
标签: mysql
原创作品,允许转载,转载时请务必以超链接形式标明文章  原始出处 、作者信息和本声明。否则将追究法律责任。 http://dogdogcom.blog.51cto.com/2402458/433120

备份数据

mysqldump db_name [tables]
mysqldump  ---database DB1 [DB2 DB3...]
mysqldump  --all—database


mysqldump --user=root -p xm > /backup/xm.sql
以上指令,将xm 库备份到xm.sql 文件中。输入指令后,需要输入mysql 的root 密码。


一般我都不用加-user=root -p 即直接用
mysqldump --database xm > /backup/xm.sql
mysqldump --all-database > /backup/all.sql

恢复同备份一样很简单,只要一条命令就可以完成:
mysqldump --user=root -p xm < /backup/xm.sql

也可以到mysql下运行
mysql> source /backup/xm.sql


例子:

删除数据

delete from xm where id=1;

update kkk set name='MARY' where id=2;

drop database xm

然后运用上面的恢复

 

 

mysql 二进制备份恢复就是恢复一个时间段内你做过的东西,只能配合mysqldump使用
假如你定为凌晨3 点进行日常备份。但是数据库在早上7 点发生了崩溃。那
么你手头上拥有的最新的数据库备份只能恢复到凌晨3 点的状态。而3 点~7 点
之间的数据你就恢复不回来了。这个时候可以用mysqlbinlog恢复

 

/usr/local/mysql/bin/mysqlbinlog --stop-date="2010-11-24 19:35:00" /data/101.000002 > /tmp/xmkkk.sql

恢复101.000002 这个日志的操作记录  日志文件开头到  2010-11-24 19:35:00 为止的所有操作
注意 二进制恢复只会按你操作过的SQL恢复,例如:kkk表里有alex记录,而你恢复的时间包括了建立alex,这时候会出现重复。

/usr/local/mysql/bin/mysqlbinlog --start-date="2010-11-25 00:27:00" --stop-date="2010-11-25 00:28:00" /data/101.000002 > /tmp/xmkkk2.sql
指定时间段 从--开始---XXX结束

你可能感兴趣的:(sql,mysql,db2,Blog)