admin 发表于 2023-1-30 10:04:41

升级X3.5踩坑记录(UCenter 数据版本不符)

1、当年从UC1.5升级到1.6时,我没有运行升级程序,只是更换了文件版本。本次升级时报错数据版本不符,重新下载“1.6升级程序”上传,运行后白屏。完整上传1.6后提示有大量被丢弃代码,故将PHP版本切换为5.6,升级成功。原因是虽然都叫1.6,但其实内部版本却分了很多种,最新的1.6支持了php7.4,但并不能有效升级1.5的数据文件。因此必须用旧版1.6程序,但其只能支持php5.6以下。
2、然后开始升级DiscuzX3.5,发现通讯不上,原因比较扯,当然了官方为爱发电也无可奈何~3.4以下的通讯密钥是允许符号的,而3.5开始必须字母和数字,因此,应手动进入UC后台,点击论坛应用,点击生成安全密钥,然后覆盖到config里。3、然后失败了。。。。。。。。(1071) Specified key was too long; max key length is 767 bytesALTER TABLE appbyme_config CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;升级论坛数据库的时候报错了,看起来是兼容问题,操作方式如下:1、进入phpmysql,点击对应的数据表。2、在顶部从“浏览”切换到“结构”标签页。3、将对应的子项数值调整到190即可。4、在pre_common_member_archive这个表的转换中,有部分用户名报错重复。问题是UC和DZ的用户名不同导致的。解决办法是进sql修改pre_common_member_archive的用户名一致即可。

独家记忆 发表于 2023-1-30 10:05:21

1. 这个是历史坑,所以建议插件多或者建站版本低的先本地进行升级演练再实际操作,毕竟有些站点历史数据就是坏的。
2. 感谢指出,我核实了一下这个在 X3.4 也是一样的设定,并非新增设定。
3. 如果能升级 MySQL 可以直接升级 8.0 或者 5.7 避免该问题,或者升级之前先删除这个小云的表。
4. 感谢指出,后续升级程序会加以完善。

另外不知道您有没有空,我这里有一个优化版的升级程序,因为我这里没有 GBK 的数据所以现在还在找站点测试,如果方便参与的话可以回复我一下。

拾光 发表于 2023-1-30 10:05:42

第四个问题我核实了一下,现在这个版本为了优化转换效率是有表缓存的,但是没考虑到升级过程中站点因为转换不过去自行删除表的情况。
后续对于本地化编码版本转换 UTF-8 版本的情况,在序列化转换之前会删除表缓存文件, 避免后续序列化转换尤其是第三方序列化转换时尝试升级之前步骤删除的第三方数据表。

独家记忆 发表于 2023-1-30 10:05:57

我发不了短消息,我猜。。。你应该可以直接看到密码内容吧?

Crystαl 发表于 2023-1-30 10:06:50

我不是官方人员,只是帮忙,所以没权限看。
我去找有权限的人问一下。

浅生 发表于 2023-1-30 10:07:01

您 home.php?mod=space&do=pm&subop=setting 关闭一下只接受好友短消息,我把 QQ 发给您。

IT618发布 发表于 2023-1-30 10:07:27

或者你把你的QQ短消息发给我也成。

另外,你这忙帮的好没归属感。。。。

TyCoding 发表于 2023-1-30 10:08:19

QQ 发您了
我这状态确实和您用户名有点像......
页: [1]
查看完整版本: 升级X3.5踩坑记录(UCenter 数据版本不符)

创宇盾启航版免费网站防御网站加速服务