mysql 逻辑备份

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、逻辑备份适合小数据量,需要锁表对业务会有影响。大数据量推荐物理备份。


你可能感兴趣的:(mysql 逻辑备份)