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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[已解决] 论坛迁移笔记

[复制链接]
fans_sky 发表于 2012-4-20 10:58:58 | 显示全部楼层 |阅读模式
经过三个星期日夜奋战,网站改版和论坛迁移基本完成,期间艰辛一言难尽啊,尤其是论坛迁移,走了很多弯路,现将迁移过程整理分享出来,供各位朋友参考。
原论坛:dvbbs .net1.1 ,数据库:Ms SQL2008
目标论坛:discuz! X2.5,数据库:MySQL 5.1.52
迁移过程:
dvbbs .net1.1无法一步到位迁移到discuz! X2.5,流程应该这样:dvbbs .net1.1-->discuz!7.2-->discuz!X2-->discuz!X2.5。
1.下载discuz!7.2,到discuz!官网下载,下载地址:http://download2.comsenz.com/Discuz/7.2/Discuz_7.2_SC_UTF8.zip,我用的是UTF-8版,运行安装,这个很简单,官网有教程,在此不赘述了。
2.上论坛转换网下载DV.Net to Discuz7.2论坛转换工具,这个是转换的关键。
3.关闭原论坛,运行论坛转换工具,填上数据库连接用户名,密码和数据库名称,就可以轻松将原论坛MsSQL数据转换到MySQL中来,现在新论坛discuz!7.2基本可以运行,其它的先不去管,备份好新的数据库(phpmyadmin备份)和网站文件(tar cvf bbs.tar bbs/),这样就可以尽情的修改了,没改好大不了重来
4.升级discuz!7.2的UCenter 到最新的1.6.0版(参考discuz!网官教程)。
5.下载discuz!X2,升级discuz!7.2到X2,具体步骤参考官方教程,注意:升级完成后论坛已经无法登录,没关系,继续下一步,下载discuz!X2.5,升级X2到X2.5,升级过程同上,论坛仍然无法登录。
6.迁移UCenter数据库,使用phpmyadmin,选择discuz(discuz!7.2的数据库)中“cdb_uc_”前缀的数据表,导出为uc.sql文件,再将uc.sql文件导入到discuzx2(discuz!X2.5使用的数据库)中,在discuzx2中删除"pre_ucenter_"前缀的表,然后将导过进来的以"cdb_uc_"为前缀的表修改前缀为"pre_ucenter_"。(phpmyadmin真的很方便! ),登录论坛试试,成功了!~~
7.修改config/config_global.php中的$_config['admincp']['founder'] = '';填写正确的创始人uid,登录后台,修改ucenter应用,直到通讯成功(看官方教程),设置论坛参数。
8.迁移附件:将原论坛file/uploadfiles中的所有文件上传到新论坛中data/attachment/forum目录下。
修改数据库使显示附件(原论坛与新论坛标签不一样,所以附件显示为源码):
update pre_forum_post set attachment="1";
update pre_forum_post SET message=replace(message,'[upload=jpg]','<img ');
update pre_forum_post SET message=replace(message,'[/upload]','> ');
update pre_forum_post SET message=replace(message,'UploadFile','src=');
update pre_forum_post SET message=replace(message,'img src=/','img src=data/attachment/forum/');
update pre_forum_post set message = replace(message, substring(message, locate(',20', message),locate('.jpg', message)-locate(',20',message)+4),'')
update pre_forum_post set message=replace(message,'uploadimage','attachimg')
9.解决html解析问题。迁移过来的贴子显示为html源码,太乱了,修改一下:
修改数据库使解析html
update pre_forum_forum f, pre_forum_post p set p.htmlon=p.htmlon|1 where p.fid=f.fid and f.allowhtml='1';
10.解决中文用户名无法登录问题(数据转换的时候创建uc表GBK编码不对,导致新论坛中的uc表中文用户名乱码)。
update pre_ucenter_members set pre_ucenter_members.username=(select pre_common_member.username from pre_common_member where pre_ucenter_members.uid=pre_common_member.uid)
大功造成!!!
骑蚂蚁赛跑 发表于 2012-4-20 13:10:16 | 显示全部楼层
你迁移成功没有,看着你写的好苦难
回复

使用道具 举报

tenglxj 发表于 2012-4-20 14:03:46 | 显示全部楼层
留名 现在还看不懂啥意思
回复

使用道具 举报

 楼主| fans_sky 发表于 2012-4-20 14:04:03 | 显示全部楼层
当然成功了!!!!
回复

使用道具 举报

12153556 发表于 2012-4-20 18:08:19 | 显示全部楼层
步骤基本正确

恭喜楼主
回复

使用道具 举报

eagleer 发表于 2012-4-20 19:07:59 | 显示全部楼层
这事本来是很繁琐的
回复

使用道具 举报

baxter 发表于 2012-4-20 19:37:32 | 显示全部楼层
写的比较详细,需要转换的可以参考
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-27 01:04 , Processed in 0.057749 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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