mysql-备份和还原(普通还原和binlog还原)

1)备份

mysqldump -uroot -proot share -l -F > /tmp/share.sql

说明:-l 锁表 -F 刷新日志文件(相当于flush logs)

 

2)还原(一)

mysqldump -uroot -proot share < /tmp/share.sql

 

3)还原(二)

登录mysql 后 source /tmp/share.sql

 

4)还原(三)(从binlog日志里恢复)

mysqlbinlog --no-defaults /var/lib/mysql/mysql-bin.000002 | mysql -uroot -proot share

使用binlog日志节点

--start-position='106' --stop-postion='500'

示例:

mysqlbinlog --no-defaults --start-position='106' --stop-postion='500' /var/lib/mysql/mysql-bin.000002 | mysql -uroot -proot share

意思是只恢复 106节点到500节点之前的数据操作

 

除了使用位置节点,还可以使用时间节点

--start-datetime='2016-11-01 00:00:00' --stop-datetime='2016-12-05 17:00:00'

示例:

mysqlbinlog --no-defaults --start-datetime='2016-11-01 00:00:00' --stop-datetime='2016-12-05 17:00:00' /var/lib/mysql/mysql-bin.000002 | mysql -uroot -proot share

 

 

注意事项:

备份时要锁表(库),避免备份过程中有其他数据写、删操作,保证备份文件的正确性。

备份完成时,要刷新binlog日志,记录下备份后数据库的所有操作,这样的话,如果备份后数据出现了损坏或丢失,就可以使用备份文件和这个binlog文件来恢复完整的数据。

posted @ 2016-03-08 20:48  Tiac  阅读(287)  评论(0编辑  收藏  举报