备份数据
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结束