简单举例
全备
# mysqldump -u root -proot test > /mysql/bak/bak1647.sql;
恢复
# mysql -uroot -proot test < /mysql/bak/bak1721.sql
该备份恢复无法去除新添加的表,原来已经存在的表,可以回到原来的样子,而新添加的表,不会在恢复的时候改变。
对于成型的系统,因为不会添加新表,该命令没有问题。
如果添加了新表,即改变数据库表结构的时候,要重新做一次备份。
对于库大小在30G以下,尤其是10G以下的库,使用此命令比较合适。
备份表
# mysqldump -uroot -proot test stud>/mysql/bak/root_test_stud_20150422.sql
# mysql -uroot -proot test
[mysqld]
#开启binlog并指定日志位置为库所在位置,日志前缀为mysql-bin
log-bin=mysql-bin
#日志生成对象为db2、test库
binlog-do-db=db2
binlog-do-db=test
#只保留最近3天的日志
expire_logs_day=3
二进制文件,记录库的修改操作,多用于增量备份。恢复时需要与全备相结合,以全备为基础,再加增量备份可达到恢复一个库的目的。
比如有一份在 2015-04-24 1:30:00时刻db2库的全备,db2库在 2015-04-24 17:27:01 时刻出现误操作,可以使用以下命令恢复数据库
首先,使用全备恢复库
其次,使用binlog恢复
# mysqlbinlog --start-datetime="2015-04-24 1:30:00" --stop-datetime="2015-04-24 17:27:00" /var/lib/mysql/mysql-bin.[0-9]*|mysql -uroot -proot --one-database db2
binlog
开启binlog
linux下修改my.cnf(windows下修改my.ini)[mysqld]
#开启binlog并指定日志位置为库所在位置,日志前缀为mysql-bin
log-bin=mysql-bin
#日志生成对象为db2、test库
binlog-do-db=db2
binlog-do-db=test
#只保留最近3天的日志
expire_logs_day=3
使用binlog恢复
比如有一份在 2015-04-24 1:30:00时刻db2库的全备,db2库在 2015-04-24 17:27:01 时刻出现误操作,可以使用以下命令恢复数据库
首先,使用全备恢复库
其次,使用binlog恢复
# mysqlbinlog --start-datetime="2015-04-24 1:30:00" --stop-datetime="2015-04-24 17:27:00" /var/lib/mysql/mysql-bin.[0-9]*|mysql -uroot -proot --one-database db2
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30036720/viewspace-1602721/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/30036720/viewspace-1602721/