Discuz!官方免费开源建站系统

 找回密码
 立即注册
搜索

建议discuz官方开发一个网站数据完整备份工具

[复制链接]
小森我爱你 发表于 2012-8-4 15:40:27 | 显示全部楼层
那个备份最稳定啊?
回复

使用道具 举报

mark35 发表于 2012-8-5 23:30:33 | 显示全部楼层
IDC866.com 发表于 2012-8-4 14:38
帝国备份 中断的话,  那DX后台备份更容易中断的。  因为他备份的数据包更大(2M) 更占资源的。

就mysql这残废,用什么都是一样的。
我这儿在线备份pgsql,dz的库dump出来2.6G左右,用管道gzip压缩成一个680多M的文件。无论备份和导入也没说出啥子不正常的。
dump.png


回复

使用道具 举报

IDC866.com 发表于 2012-8-6 09:11:03 | 显示全部楼层
mark35 发表于 2012-8-5 23:30
就mysql这残废,用什么都是一样的。
我这儿在线备份pgsql,dz的库dump出来2.6G左右,用管道gzip压缩成一 ...

两码事了。   人家只是空间。

在SSH MYSQL都是直接 tar 了,何必还用 mysqldump
回复

使用道具 举报

mark35 发表于 2012-8-6 09:35:33 | 显示全部楼层
IDC866.com 发表于 2012-8-6 09:11
两码事了。   人家只是空间。

在SSH MYSQL都是直接 tar 了,何必还用 mysqldump

你没明白这个关键:对于mysql无论是在dz后台备份或是mysqldump还是tar文件,都不是事务一致性,备份出来的数据是有版本差异性(当然myisam不是MVCC没有版本这个概念)的。只不过对于普通论坛来说这点缺陷影响倒不大。
回复

使用道具 举报

IDC866.com 发表于 2012-8-6 09:43:53 | 显示全部楼层
mark35 发表于 2012-8-6 09:35
你没明白这个关键:对于mysql无论是在dz后台备份或是mysqldump还是tar文件,都不是事务一致性,备份出来的 ...

据说帝国备份不存在版本问题。。5版数据可直接备份为 4版直接用。  

你要是不信,自己去试试。
回复

使用道具 举报

mark35 发表于 2012-8-6 10:11:24 | 显示全部楼层
IDC866.com 发表于 2012-8-6 09:43
据说帝国备份不存在版本问题。。5版数据可直接备份为 4版直接用。  

你要是不信,自己去试试。

呵呵,我没说清楚~~ 上面所说的“版本”不是指mysql程序版本而是指数据存储版本,你搜索MVCC就知道了。 不过myisam非事务引擎数据是没版本的,所以备份出来的数据不可能保证一致性,除非关闭mysql服务然后再文件级备份。

帝国没用过,看介绍还不错。我一般是用脚本然后crontab定时dump。
回复

使用道具 举报

IDC866.com 发表于 2012-8-6 10:21:04 | 显示全部楼层
mark35 发表于 2012-8-6 10:11
呵呵,我没说清楚~~ 上面所说的“版本”不是指mysql程序版本而是指数据存储版本,你搜索MVCC就知道了。 ...

备份出来的数据,不可能保证一致性??  大家都在用,大家都这样备份。  不一致还有谁会用。

你是想说,在备份的途中产生的新数据不会备份?  要是在考虑这个那就备份不完了。只要网站在运行,有人访问,就永远在产生新数据。

难道你说的用tar 、mysqldump备份存在版本问题,就是这样的问题?
回复

使用道具 举报

mark35 发表于 2012-8-6 11:02:06 | 显示全部楼层
本帖最后由 mark35 于 2012-8-6 11:03 编辑
IDC866.com 发表于 2012-8-6 10:21
备份出来的数据,不可能保证一致性??  大家都在用,大家都这样备份。  不一致还有谁会用。

你是想说 ...


看来你没搞清楚啥是MVCC,估计绝大多数mysqler都不知道这个东西,也没数据一致性的概念

只要不停掉mysql服务,那么无论用哪种方式备份出来的dz数据库文档都存在数据一致性问题:
假如备份程序先备份members表,然后再备份threads/posts表,那么当members表备份之后新注册的用户就不会在备份文档中。但这个新用户发的帖子却可能会在下一步中存在于threads/posts备份文档中。 这就产生了逻辑的不一致——不存在的用户却发了帖!

虽然数据一致性这个问题对于一个论坛来说影响不太大,但这却是众多bug以及各种稀奇古怪现象的根源——dz的bug版块不少人报告的bug在版主测试下都不存在。

而MVCC数据库是一致性备份,在备份过程中对数据库的更新(INSERT/UPDATE)不会被转储。

至于你没遇到一致性问题并不代表这个问题不存在,也不代表其他人不会遇到,其实也不代表在你这儿没发生只不过也许你没发现但这个问题却以各种莫名其妙的故障出现而已。
回复

使用道具 举报

mark35 发表于 2012-8-6 11:06:04 | 显示全部楼层
本帖最后由 mark35 于 2012-8-6 11:12 编辑
IDC866.com 发表于 2012-8-6 10:21
备份出来的数据,不可能保证一致性??  大家都在用,大家都这样备份。  不一致还有谁会用。

你是想说 ...

cp, tar 之类文件级备份是线性读取,如果mysql服务没停掉,那么用这种方式转储出来的文件就无法保证数据一致性并且可能会使得转储结果不正常!。


回复

使用道具 举报

IDC866.com 发表于 2012-8-6 11:25:14 | 显示全部楼层
mark35 发表于 2012-8-6 11:02
看来你没搞清楚啥是MVCC,估计绝大多数mysqler都不知道这个东西,也没数据一致性的概念

只要不停 ...

你这个不就是我所说的问题了吗。  新数据不会被备份。

其实这点并不重要,备份本来就是留旧,备份数据库拿来是以防万一的。  

最简单来说:就如是你数据库出问题了才会拿出来的。   
今天数据库都出问题了,拿昨天备份的数据库来修复还有一天数据都没保存呢。
再说,你不可能秒秒在备份,包括你说的MVCC。   要是想秒秒备份直接搞个同步得了。

还有,就拿一个10G的数据库来说吧,你复制一次,也得几分钟,或是十几分钟吧。  难道你在这十几分钟中,你网站就不产生新数据。  如果100G数据库呢,难道他1小时都不生产新数据?难道最后一秒他也能备份全?备份最后一秒后又产生了新的,他还得循环备份个不停?


而且,DZ官方在备份说明中是说要关掉网站实行备份,这样才安全。   关掉网站备份,也可防止新数据产生,还可以防止数据表正在使用中而卡死。     

如果不关掉网站,那么,备份的时候有时就会产生 表在使用中 而中断备份,造成备份失败,或是备份中断。


就拿你说的  停掉mysql 服务,才能实行备份完整。   那么,你看到过 DZ官方什么时候停掉过吗?  难道他们就不需要备份。

连DZ官方这大站都不用停机备份,何况广大小站长。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-9-10 20:33 , Processed in 0.119016 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表