各位好,这几天琢磨mysql的备份问题,我现在的情况是等业务稳定后数据总量几乎不变,个别字段修改而已,不多,主要是用于查询,所以我选择了MyISAM的引擎(即便初期添加数据的时候并发量也不大),然后现在要做数据备份
我现在查到的有如下几个方案(商业的软件我没看)
1:锁表,mysqldump, 解锁 。 这个在单机环境中,似乎是折腾量最少的了,但是不能写操作,难道每次操作都要凌晨? T_T 我估计会被support砍死
2:双机,master-slave。 在slave上反正随便折腾了,方法一也好,停机直接复制也好, 要多加一个机器,不知道最终用户肯不肯阿
3:LVM快照,LVM快照我看了很多人推荐,似乎扇贝也在用这个,确实从COW的原理来看几乎是秒存。
但是很多教程在做快照前,都要做一个 FLUSH TABLES WITH READ LOCK 的动作,FLUSH TABLES 这个好理解,
加上READ LOCK 这个我有点不明白了,因为有了LVM的快照用了COW,即便在做快照的期间,有人写了数据库了,
新增加的部分是不会写入到快照里面才对,然后挂载快照,tar个包 ,删除快照
说了那么多,主要就是想问,加上READ LOCK 这个操作是否一定有必要(当然严格一点加上是最保险了),如果不加这个锁,LVM快照在什么情况下会导致数据备份有问题
也欢迎各位提供一些其他的备份思路,或者在实际环境中使用过的备份方案~~谢谢!
第一次在SHLUG发帖子。有点小激动.....