mysql 开发进阶篇系列 42 逻辑备份与恢复
2018-09-21 18:12
731 查看
一.概述
在作何数据库里,备份与恢复都是非常重要的。好的备份方法和备份策略将会使得数据库中的数据更加高效和安全。对于DBA来说,进行备份或恢复操作时要考虑的因素大概有如下:(1) 确定要备份的表的存储引擎是事务型(innodb)还是非事务型。两种不同的存储引擎备份方式在处理数据一致性方面是不太一样。
(2) 确定使用全备份还是增量备份。增量备份是备份每天的增量日志,恢复时需要全备份加所有增量备份。这里与sql server的完整备份+日志备份或差异备份有点类似。
(3) 可以考虑复制方法来做异地备份。但复制不能代替备份,因为有可能发生误操作。
(4) 要定期备份。
(5) 确保mysql的log -bin开启,才能实现完整恢复,或基于时间的恢复,或基于位置的恢复。
(6) 经常做备份恢复测试,确保备份是有效的,并且可以恢复的。
(7) mysql与sqlserver在备份上很大区别的概念是mysql可以基于表备份,而sql server基于库备份。
二. 逻辑备份和恢复
在mysql中,逻辑备份最大的优点是对于各种存储引擎,都可以用同样的访求来备份。而物理备份则不同,不同存储引擎有着不同的备份方法。 因此对于不同存储引擎混全的数据库,用逻辑备份会简单一些。2.1 逻辑备份
mysql逻辑备份是将数据库中的数据备份为一个文本文件。可以被查看和编辑。在mysql中,使用mysqldump工具来完成逻辑备份。在前面章节"mysql 开发进阶篇系列 35 工具篇 "中有讲到该导出工具的用法。
2.2下面简演示一个备份与恢复的例子
-- 查看当前最新日志编号 SHOW MASTER STATUS
-- 备份test库,库中testbackup表有6条数据 SELECT * FROM testbackup
-- 将test库备份为test.dmp文件 -F备份后生成新日志 [root@hsr data]# pwd /usr/local/mysql/data [root@hsr data]# mysqldump -uroot -p --single-transaction -F test > test.dmp Enter password:
备份后查看如下图所示:
备份后查看最新日志编号(备份成功后生成了新的日志序号)
-- 误操作 DELETE FROM testbackup WHERE id=6
-- 查看binlog日志,里面有误操作数据,需要在my.cnf中设置binlog_rows_query_log_events=1 SHOW BINLOG EVENTS IN 'mysql-bin.000038';
-- 还原test.dmp文件 [root@hsr data]# mysql -uroot -p test < test.dmp Enter password:
-- 在查看数据,此时数据已还原。 SELECT * FROM testbackup
总结:在还原数据时有一个问题是,如果在线还原生产数据库,那自备份以后,用户操作的数据就会都要丢失。二种方法:(1)是还原一个副本,从副本中获取误操作的数据。(2) 在线还原,全备之后到误操作时刻之间,用户写入的数据在binlog中,需要恢复出来。
相关文章推荐
- mysql 开发进阶篇系列 43 逻辑备份与恢复(基于时间和位置的不完全恢复)
- mysql 开发进阶篇系列 11 锁问题 (恢复和复制的需要,对锁机制的影响)
- mysql 开发进阶篇系列 2 SQL优化(explain分析)
- mysql 开发进阶篇系列 9 锁问题 (Innodb 行锁实现方式)
- mysql 开发进阶篇系列 15 锁问题 (总结)
- mysql 开发进阶篇系列 13 锁问题(关于表锁,死锁示例,锁等待设置)
- 42-2 mysql备份与恢复
- Oracle备份与恢复系列 五 逻辑导入导出
- mysql 开发进阶篇系列 8 锁问题 (共享锁与排它锁演示)
- MySql逻辑备份恢复方法简单总结
- mysql 开发进阶篇系列 50 表的数据导入(load data infile,mysqlimport )
- mysql 开发进阶篇系列 52 权限与安全(系统四个权限表的粒度控制关系)
- mysql 开发进阶篇系列 16 MySQL Server(myisam key_buffer)
- mysql 逻辑备份和恢复
- mysql 开发进阶篇系列 4 SQL 优化(各种优化方法点)
- mysql 开发进阶篇系列 10 锁问题 (相同索引键值或同一行或间隙锁的冲突)
- mysql 开发进阶篇系列 1 SQL优化(show status命令)
- mysql 开发进阶篇系列 3 SQL 优化(索引使用方法)
- mysql 逻辑备份数据恢复
- mysql系列之5.mysql备份恢复