2009年2月25日星期三

MySQL备份数据的几种方法

部门一个大牛曾经说过:‘运营就是备份’。对于数据库的备份问题,很多时候是出事儿以后,大家才能认识到有多严重。。。数据文件不是放到盘柜就安全的,如果MySQL崩溃了,如果盘柜损坏了,如果有人误操作了,如果地震了......

备份分为完全备份和增量备份。
  • 完全备份是备份所有的数据库文件或者将数据库全部dump出来。前者适合比较大的数据库。
  • 增量备份是定期备份二进制日志,备份前使用 flush logs 刷新日志。
备份的时候如果不影响主库的运行,就叫做热备;如果flush table with read lock或者关闭数据库,就是冷备。

可以选择和主库实时同步,也可以选择延时同步。各有适合的场景。

如果已经有slave,那么再建另一个slave的时候,就没有必要从主库拷贝数据库文件了。只要暂停slave的服务,拷贝完文件后,修改my.cnf里面的server-id,以及在主库增加新增slave的replicuser权限,就可以了。

LVM的快照功能可以快速复制数据库文件。参见‘使用LVM快速建立数据库的快照’ 

没有评论: