🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] ## 概述 ### 备份策略 1. 确定要备份的表的存储引擎是事务型还是非事务型,两种不同的存储引擎备份方式在处理数据一致性方面是不太一样的。 2. 确定使用全备份还是增量备份。全备份的优点是备份保持最新备份,恢复的时候可以花费更少的时间;缺点是如果数据量大,将会花费很多的时间,并对系统造成较长时间的压力。增量备份相反,只需要备份每天的增量日志,备份时间少,对负载压力也小;缺点就是恢复的时候需要全备份加上次备份到故障前的所有日志,恢复时间长一些。 3. 可以考虑采用复制的方法来做异地备份,但不能代替备份,它对数据库的误操作也无能为力。 4. 要定期做备份,备份的周期要充分考虑系统可以承受的恢复时间。备份要在系统负载较小的时候进行 5. 确保 MySQL 打开 log-bin 选项,有了 binlog,MySQL 才可以在必要的时候做完整恢复,或基于时间点的恢复,或基于位置的恢复 ## 备份 ### 备份数据库 ``` mysqldump -uroot -p test > test.sql ``` ### 备份数据表 表可以有多个 ``` mysqldump -uroot -p test emp dept > emp_dept.sql ``` ## 还原 ### 备份数据库 ``` mysql -uroot -p db_name < backfile ``` 将备份恢复后数据并不完整,还需要将备份后执行的日志进行重做 ``` mysqlbinlog binlog-file | mysql -uroot -p ```