欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

帝国CMS备份出现数据恢复不完整的问题

程序员文章站 2022-04-04 20:40:32
今天linux主机中毒了,把用帝国备份王备份之后,恢复了快照到刚建主机的状态; 哎,只怪当初没有勤快的去做快照啊; 重新配置好后; 开始使用帝国备份王; 数据恢复之后,打开文章,提示“附加表值出错” 百度搜索了一堆解决问题,但是解决不了我的问题,我在打开phpmyadmin,发现数据库里的表dede ......

今天linux主机中毒了,把用帝国备份王备份之后,恢复了快照到刚建主机的状态;

哎,只怪当初没有勤快的去做快照啊;

重新配置好后;

开始使用帝国备份王;

数据恢复之后,打开文章,提示“附加表值出错”

百度搜索了一堆解决问题,但是解决不了我的问题,我在打开phpmyadmin,发现数据库里的表dede_addonarticle,只有1000条,但是我是采集的数据,我后台现实的可是有近200万条数据的呢,这差距也太大了把。

再次用帝国恢复,发现在恢复dede_addonarticle表段时,一闪而过,直接恢复到下一段去了。

查找多方资料,以为是帝国的问题,换了帝国备份王2010也不行;

无意之中看到一篇关于帝国备份王修改配置文件,拆分数据避免502错误产生,给了我灵感,感觉打开http://www.riven.cc/dedebak/bdata/www.rivencc_20180210120352Y7BYbf/config.php;

打开一看

$tb[dede_addonarticle]=0;

对比上一次备份的config.php

$tb[dede_addonarticle]=1314;

我终于知道原因了;

在目录下,找到dede_addonarticle_1.php...最后一张表的数字,

把数字填写到$tb[dede_addonarticle]=****; //****就是你最后一张表的数字;

然后保存,再恢复,OK,搞定。

希望有遇到跟我一样问题的朋友,可以参考借鉴

其实问题很小,但是不知道为什么备份过程中,这个值没有写入到config.php中

最后总结这次经验:

1、帝国备份王尽量用16进制来备份,这样可以避免迁移数据环境不同造成的错误;

2、除了帝国备份外,建议还要用phpmyadmin到处数据库;

3、linux的mysqldump -u 用户名 -p 密码 > 保存的文件名.sql

范例: mysqldupm -u www.riven.cc -p riven.cc > riven.sql  //这里www.riven.cc是用户名,riven.cc是密码,riven.sql是保存的数据库文件名;