互联网观察 网站建设 网站运营 网上创业 电子商务 建站软件 建站软件教程 网站开发 网页制作 收藏本站
建站常识 | 域名 | 主机 | 网上开店 | 搜索引擎优化 | 网站推广 | 网络赚钱 | 站长经验 | 个人建站 | 网站设计 | 网页特效 | wap网站

PHPWIND4.X转换至Discuz! 4.0.0

论坛会员11307,帖子总数58914,主题总数19447
  转换结果:
1:丢失1论坛会员数据,原因:用户名包含特殊字符"/",mysql不能正确识别
2:原3级版块变为1级版块
其他目前为止一切正常,无任何数据丢失,无任何异常帖子数据

转换建议
1:转换完毕之后,建议重新编辑用户组权限
2:如果原PHPWind论坛开启了总置顶,那么,转换完毕之后也需要在论坛开启总置顶功能
3:重新编辑论坛积分制度,D4的积分制度和PW是不相同的.
4:重新编辑论坛核心数据
5:移动原论坛用户头像目录,附件目录至转换完毕论坛的相对位置
6:更新缓存,更新论坛统计

转换瓶颈
由于PW使用的是latin1字符集,而D4使用的是gbk或者UTF-8字符集
这就造成了在转换过程中或者转换完毕之后出现乱码
但是并非没有解决办法.下面分为2种情况阐述一下具体的操作过程

服务器环境:windows 2003+php4.3.11+mysql4.0.26+ZendOptimizer-2.5.10+phpMyAdmin-2.6.2

转换思路:
1:数据库下载至本地
2:本地调试转换
3:转换完毕导出数据库
4:服务器上全新安装论坛
5:导入备份数据

目前大致分为2种情况.
1:mysql版本号为4.1.X
2:mysql版本号为4.0.X

对于第一种情况,转换过程相对比较麻烦
首先,在服务器上导出数据(重要:请导出为mysql4.0格式的数据)
操作:
1:开始-运行  cmd  回车
2:切换至安装路径/mysql/bin 回车
3:输入语句mysqldump -uroot -p --default-character-set=latin1 --set-charset=gbk --skip-opt databse > test.sql  回车
稍待片刻,文件即备份完成
(解释一下.dadabse为需要导出的数据库名,test.sql为导出的sql文件名,这里可以为sql导出文件设置路径,如e:\test.sql,如不设置路径,那么导出后的文件在mysql/bin目录下)
或者,进入phpmyadmin,导出PW论坛数据库
(注意,导出格式选择PW40)
4:下载test.sql文件(为了安全起见,请尽量不要在服务器上直接进行转换操作,以免发生意外)
5:本地配置环境(注意:mysql数据库版本请使用4.0.X,否则会发生不可预期的错误)
以下操作均为本地操作
6:新建数据库并导入之前备份的数据库文件
(1)进入phpmyadmin,直接创建数据库,数据库命名为phpwind(可自由更改)
(2)也可以开始-运行-cmd,进入mysql/bin目录,输入mysql -uroot -p 回车
输入root密码  回车
CREATE DATABASE `phpwind` ;
导入数据
X:\>mysql -uroot -p --default-character-set=gbk -f phpwind<e:\test.sql 回车
输入root密码  回车
下面就进入导入数据过程了
(这里,phpwind为即将导入的数据库名也就是刚才新建的数据库名,test.sql为之前的备份文件名,需要给出文件所在路径,我这里写的是文件在E盘下)
注意:在数据导入过程中如果出现
ERROR at line 17789: Unknown command '\n'.
ERROR at line 17789: Unknown command '\n'.
ERROR 2005 (HY000) test.sql文件的第17789行,出现了错误
解决办法,用UE或者记事本打开test.sql,找到这1行并且删除
删除之后重新执行上述导入数据步骤,直至数据完全导入完毕(中途如果还是遇上类似错误,可照上面的方法解决)
重要:当遇上一次错误而使导入过程终止,删除掉出错的行之后,还需要删除之前建立的phpwind数据库,然后重新建立数据库再次导入,避免重复导入出错
7:在数据库成功导入之后,请下载Discuz!4.0.0程序,并且在本地全新安装,数据库名为discuz
8discuz!4.0.0安装完毕之后,请下载PW430--D4或者pw4.01--D4转换程序
PW430---D4:http://www.discuz.net/viewthread ... &extra=page%3D1
PW4.01-D4:http://www.discuz.net/viewthread ... &extra=page%3D1
解压缩文件,并把转换文件复制到刚才安装的D4目录下
9:修改转换文件
这里只需要修改几个部分,分别是mysql服务器帐号密码,PW数据库名以及表名,D4数据库以及表名
10:开始转换
转换过程中,如果出现
插入会员 uid = 117 , username = 晴天 会员基本数据出错!
数据表: cdb_members
语句: INSERT INTO `Discuz`.`cdb_members` ( `uid` , `username` , `password` , `secques` , `gender` , `adminid` , `groupid` , `groupexpiry` , `extgroupids` , `regip` , `regdate` , `lastip` , `lastvisit` , `lastactivity` , `lastpost` , `posts` , `digestposts` , `oltime` , `pageviews` , `credits` , `extcredits1` , `extcredits2` , `extcredits3` , `extcredits4` , `extcredits5` , `extcredits6` , `extcredits7` , `extcredits8` , `avatarshowid` , `email` , `bday` , `sigstatus` , `tpp` , `ppp` , `styleid` , `dateformat` , `timeformat` , `pmsound` , `showemail` , `newsletter` , `invisible` , `timeoffset` , `newpm` , `accessmasks` ) VALUES ('117','晴天','05bfdd448f6c01a9','','2','0','10','0','','','1121277532','','','','','1','0','0','0','0','12','200','0','0','0','0','0','0','0','xiaoxi_ak@tom.com','0000-00-00','0','0','0','0','0','0','0','0','1','0','9999','0','0');
这样的错误,请进入phpmyadmin里的phpwind会员数据表,删除这位会员资料
(进入phpmysql,打开phpwind库,点击pw_members表,浏览这个表,找到这个会员数据并删除!重要,重新执行转换程序之前请重新安装D4!)重新执行转换程序,如遇同样错误请循环上述操作直至转换过程完毕
(注意:有的数据库的post表可能存在同样问题,一样按照上述方法解决就可以了)



如果是mysql数据库版本为4.0.X的朋友
首先备份数据库,以免出错,然后执行上述7-10步就可以了.

至此,数据转换完毕!!现在你就可以开始你的D4之旅拉.

如果还有问题,请跟帖说明,我能力范围内尽量帮助大家!!

对于虚拟主机用户,操作过程是一样的.

上面我说的方法看似复杂,其实操作起来很简单的几步,我罗嗦而已^^

此转换步骤适用于PW4.01和4.30CE




上一篇:动网论坛7.10ACC转D4的一点心得
下一篇:LeoBBS X多附件版转换到Discuz 2.5F



版权所有 Copyright© 2006 黑马建站宝典 联系方式:heima123#gmail.com