我爱单车

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 游记 黄山
查看: 1629|回复: 1

ILC网站恢复记录

[复制链接]

管理员

Rank: 9Rank: 9Rank: 9

发表于 2020-5-6 16:54:44 | 显示全部楼层 |阅读模式
原论坛程序太老没法升级,只能采用数据迁移方法,把最重要的用户基本信息、帖子内容恢复出来。
1、下载Discuz! X3.4版程序,下载安装WampServer64,安装Discuz论坛,创建数据库ilcdb。

2、主要表结构和数据修改分析Discuz数据库结构。
pre_forum_forum  论坛表  先修改所有论坛名称和fid,要保证fid跟原数据库的论坛表的boardid一致。
pre_ucenter_members   uc用户表  修改username字段长度为30。注册用户时会在该表创建记录,并会新增一条到下面的用户表。
pre_common_member 用户表   修改username字段长度为30
pre_forum_thread 主题表,主键tid
pre_forum_post 帖子表(包括第一个主题帖),主键fid
修改以上两表author字段长度为30,subject字段长度为100

3、原数据库数据处理
分析原数据库结构。
找到用户表,导出用户数据,替换所有用户默认密码。
删除2018年中毒后的垃圾帖子,导出帖子数据(180262条帖子,其中14865条主题帖)。
Dv_Topic表   主题帖表,主键TopicID
dv_bbs1表 是帖子的内容表(包括第一个主题帖的内容),主键AnnounceID,外键RootID=TopicID,相同RootID的为一个主题帖和跟帖。
因为dv_bbs1表里已经包含第一个主题帖的标题和内容,所以只对dv_bbs1表进行处理:
(1)要把AnnounceID改成pid,再创建tid,把ParentID=0的所有记录的tid=pid,first=1。
(2)进行用户数据和帖子数据中的日期格式转换。

4、数据导入
导入用户数据,先导入pre_ucenter_members表,再导入pre_common_member表。
从处理好的dv_bbs1表导入帖子数据,把first=1的记录先导入到pre_forum_thread,然后再全部导入pre_forum_post表。

5、查资料解决发帖时提示pid冲突问题,到pre_forum_post_tableid表中修改最大值。

6、服务器部署,数据上传。安装环境,安装论坛和导入数据,解决服务无法启动、论坛无法登陆等多若干问题。

7、解决域名备案问题。

8、解决数据导入时丢失少量帖子问题;批量替换帖子中的字符,使图片、表情符号等能正常显示;解决回帖数量都为0的问题。

断断续续折腾两个多月,网站基本恢复。
cfef24984ed14d029a74b21e910dbc77.jpg
回复

使用道具 举报

版主

Rank: 7Rank: 7Rank: 7

发表于 2020-8-28 15:24:09 | 显示全部楼层
辛苦了!
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|我爱单车ilc ( 苏公网安备 32010602010763号 )

GMT+8, 2020-11-28 12:28 , Processed in 0.109627 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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