<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[歌声与微笑]]></title> 
<link>http://www.gsywx.com/index.php</link> 
<description><![CDATA[歌声与微笑]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[歌声与微笑]]></copyright>
<item>
<link>http://www.gsywx.com/read.php/.htm</link>
<title><![CDATA[记录一次discuz6.1升级到discuzx3.5过程]]></title> 
<author>admin &lt;admin@gsywx.com&gt;</author>
<category><![CDATA[网站记录]]></category>
<pubDate>Thu, 05 Dec 2024 06:38:30 +0000</pubDate> 
<guid>http://www.gsywx.com/read.php/.htm</guid> 
<description>
<![CDATA[ 
	&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;因现在升级做得少了，感觉有点陌生，故做记录。<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;原dz6.1程序为TC-BIG5版本，但UC数据表为lant1，dz数据表为BIG5.<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;原服务器为centos7，用的是BT的lnmp套件，运行一会就超时了，故把数据下载到本地win7主机上升级,本地同样安装bt，php选择5.6版本，mysql选择5.7版本，调整本地环境性能，IIS中的php超时参数调大，php.ini中的参数调大，my.ini中的超时参数调大。<br/>1、首先把dz6.1升级转换至x2.0，再升到3.2，再升3.4，至此可以开始3.5升级了。<br/>2、先升级uc，报错，数据表编码非法，进phpmyadmin修改编码，如：ALTER TABLE&nbsp;&nbsp; pre_ucenter_admins&nbsp;&nbsp;CHARACTER SET big5 COLLATE big5_chinese_ci;把所有的uc表执行一下。<br/>3、因原数据为TC-BI5版本，很多中文用户名在升级后要转成utf8mb4就变成乱码了，乱码重名就会报错，先把UC和DZX会员表转换为uft8mb4后会重名的用户名查询出来，然后删除掉。（如果只是升级中的改名也会导致会员无法再登录和使用，不如直接删除）。<br/>执行：<br/><div class="code"> select uid from pre_ucenter_members where username in (select username from pre_ucenter_members group by convert(username using utf8mb4) collate utf8mb4_unicode_ci having count(1) &gt; 1); </div><br/>多次执行后删除，直至没有列出重名数据。<br/>执行<br/><div class="code"> select uid from pre_common_member where username in (select username from pre_common_member group by convert(username using utf8mb4) collate utf8mb4_unicode_ci having count(1) &gt; 1); </div><br/>多次执行后删除，直至没有列出重名数据。<br/><br/>4、查询下DZX会员是否在UC中都存在，删除不存在于UC中的DZX会员（此步在升级中非必要）<br/><div class="code"><br/>DELETE FROM `pre_common_member` WHERE uid NOT IN(SELECT uid FROM `pre_ucenter_members`);<br/>DELETE FROM `pre_common_member_action_log` WHERE uid NOT IN(SELECT uid FROM `pre_ucenter_members`);<br/>DELETE FROM `pre_common_member_count` WHERE uid NOT IN(SELECT uid FROM `pre_ucenter_members`);<br/>DELETE FROM `pre_common_member_field_forum` WHERE uid NOT IN(SELECT uid FROM `pre_ucenter_members`);<br/>DELETE FROM `pre_common_member_field_home` WHERE uid NOT IN(SELECT uid FROM `pre_ucenter_members`);<br/>DELETE FROM `pre_common_member_profile` WHERE uid NOT IN(SELECT uid FROM `pre_ucenter_members`);<br/>DELETE FROM `pre_common_member_status` WHERE uid NOT IN(SELECT uid FROM `pre_ucenter_members`);<br/></div><br/>把UC会员更新到DZX中：<br/><div class="code"> REPLACE INTO .`pre_common_member` (`uid`,`username`,`password`,`email`,`regdate`) SELECT `uid`,`username`,`password`,`email`,`regdate` FROM .`pre_ucenter_members` ; </div><br/>5、因会员数据表较大，为了节省时间，把uc升级程序中的通知次数由3改为1以节省通知失败而耗用时间（update_ucenter_adult.php文件大概在746行，既然UC通信是正常的，有一次失败，后面的基本也都是失败了，如UC中有会员，而DZX中没有，就会通知失败，即使在升级后在UC里手动通知能显示成功也是种假象）<br/>6、接下来就可以运行update_ucenter_adult.php升级UC了。因有前面删除不能识别的会员数据，故升级很顺利。<br/>7、使用update_adult.php升级dzx3.4。<br/>8、升级后进后台调试正常，然后使用命令导出数据库：<br/><div class="code"> D:&#92;BtSoft&#92;mysql&#92;MySQL5.7&#92;bin&#92;mysqldump -u root -p123654 -c --default-character-set=utf8mb4 ppp &gt; G:&#92;backup&#92;database&#92;ppp35.sql </div>，打包后上传到服务器再解压出放入root目录，使用命令恢复数据库：<br/><div class="code">/www/server/mysql/bin/mysql -hlocalhost -uroot -p&#91;mysql password&#93;&nbsp;&nbsp;dzx35&nbsp;&nbsp;--default-character-set=utf8mb4 &lt; /root/ppp35.sql </div><br/>9、恢复本地上传的dzx3.5程序，修改3个数据库配置文件，进uc调试通信，再进后台更新缓存即可。<br/><br/>Tags - <a href="http://www.gsywx.com/go.php/tags/discuzx3.5%25E5%258D%2587%25E7%25BA%25A7/" rel="tag">discuzx3.5升级</a>
]]>
</description>
</item><item>
<link>http://www.gsywx.com/read.php/.htm#blogcomment</link>
<title><![CDATA[[评论] 记录一次discuz6.1升级到discuzx3.5过程]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.gsywx.com/read.php/.htm#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>