您的位置:首页 > 数据库 > MySQL

mysql 逻辑备份

2015-10-31 00:00 471 查看
1、mysql备份有几种方式?

逻辑备份和物理备份

2、逻辑备份又分增量备份和全量备份,增量备份和全量备份是什么?

全量备份就是使用mysqldump全部导出数据库。

增量备份就是备份全备之后的binlog日志

3、全备的命令是什么?

mysqldump -uroot -hlocalhost -p123456 -B wangdk -F -x --events --master-data=2 | gzip > bak.sql.gz

-B 是创建库和使用库的语句

-F 是刷新binlog日志

-x 是锁表

-E events 事件

—master-data=2 生成change master 语句,记录当前备份的bin log的位置

innodb引擎 还可以添加 -single-transaction 事务隔离锁

4、恢复数据的命令是什么?

mysql > source /tmp/bak.sql

mysql -uroot -hlocalhost -poldboy </opt/bak.sql

5、增量备份如何解释?

增量备份其实就是备份binlog日志,时间是在全量备份的起始位置,到下次全量备份之前。

6、按天和按周的全量和增量如何定义备份时间和内容?

按天全量备份在0点使用mysqldump命令导出全部数据内容,flush_logs, 增量备份就是使用计划任务进行对当天的mysql-bin.000* 这样的文件。进行备份;

按周全量备份是在周日的晚上0点进行一次mysqldump,flush_logs, 增量备份也是使用计划任务对至下周的binlog日志,全部备份。

7、关于备份和恢复的总结

1、必须开启binlog日志,锁表

2、全量备份必须使用mysqldump 而且参数必须加 -B -F —msater-data=2 这样才能记录备份的binlog日志位置。 innodb引擎必须添加 -single-transaction 事务隔离锁

3、增量的binlog日志,也要备份下来,恢复的时候先要停止库,然后找到全量备份的文件看binlog日志的位置,然后找到binglog日志生成sql文件,去掉有问题的语句。

4、使用mysql -uroot -poldboy < 全量日志 恢复全量

5、使用 mysql -rroot -poldboy database < 增量.sql

6、刷新binlog日志,打开锁

8、逻辑备份适合小数据量,需要锁表对业务会有影响。大数据量推荐物理备份。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: