新闻中心

无忧主机原创:非常规手段解决Discuz X2迁移导致MYSQL数据库中文表乱码的途径

作者 / 无忧主机 时间 2011-09-28 07:26:55

起因: 三天前,我公司客户使用香港独立IP空间,从一个windows环境下的php虚拟主机下迁移discuz X2站点。迁移中发现恢复的mysql数据库表中所有中文乱码显示,影响迁移结果。且原始空间上的原始数据也是乱码,但是前台网页显示正常。起mysql数据库版本为:mysql 4.X。迁移要从mysql数据库4.X版本向mysql5.X版本迁移。客户无任何历史网站数据备份(DX后台的备份也没有),原始空间已经删除了客户的空间,只有原始空间商提供的mysql数据库源文件和discuz X2网页文件。 我的感概: 我很难想象,到现在居然还有mysql4.X版本的php空间存在。也很惊讶DX2居然在这样的环境下安装并运行了半年时间之久。也很惊讶,为什么用户在部署的时候没有发现数据库中存储中的内容是乱码?原始空间商告诉他,你现在的中文乱码情况、需要你进行转码导入,或者安装一个mysql4.x版本,将数据库源文件导入,然后再导出正常备份文件,最后再导入到mysql5.x中。 由于原始空间商已经删掉了用户的空间,但mysql数据库没有删除,协商下给了mysql数据库远程方式地址和信息。 用户发了2天时间解决这个mysql数据库乱码问题,我也不断与客户沟通,从中协助,利用休息时间也来帮助客户完成这个工作。我们努力将mysql 4.x数据库向mysql5.x迁移,并解决mysql数据库中文乱码问题。很遗憾,能力有限,我失败了。   事后诸葛亮: 我今天突然想到一个方案,抢救myql数据库数据库。 用户手上有原站点的dx网站的网页备份数据,原始空间提供了mysql数据库的远程访问地址。那么我的方案如下: 1、  把dx站点的网页数据完整的上传到无忧主机(www.51php.com)空间的站点根目录——public_html。 2、  然后将域名解析到无忧空间服务器上。 3、  原始空间开放了mysql数据库的远程登录方式、用户网站停止前是正常运行的、phpmyadmin虽然显示是乱码,临时我们可以不去关注它。基于上面三个条件,那么用户的dx网站就是这样方式部署的: Dx的网页程序运行在无忧主机(www.51php.com)的环境中,而mysql数据库远程调用原始空间商提供的数据库。 这样的方式部署是可行的,只要域名解析生效,网站就可以正常打开。此时登录dx2管理员后台,使用康盛提供的mysql数据库备份工具进行全站备份。备份完毕后。接下来按下面步骤操作: 4、  在无忧主机虚拟主机环境下的站点根目录下(public_html)新建二级目录—— bakweb,将所有文件移动到bakweb目录中。 5、  上传dx2.0安装包(和原站点版本保持一致),然后全新安装discuz!X2。 6、  将原始站点用dx2备份数据,移动到新安装的dx版本中进行恢复。无论好坏,你都可以拿到一份完整的mysql数据,我相信康盛后台自带的数据库备份、恢复工具,可以为我们带来一份正常、且完整的网站数据库。   今天晚上,我兴奋的将我的方案告诉用户时,很遗憾。用户已经放弃原始数据,已经全新的把网站部署好了。 上述方案,我个人认为可行性是非常高的,成功率保守估计在90%以上。如果你也在为mysql数据库乱码问题苦恼的时候,不妨换个思路,用我这个思路去尝试解决。 本文章中介绍解决mysql数据库乱码的方案,未经过实践证明。如有采纳的站长,请来个邮件340555017@qq.com告知一下,不甚感激。本文仅此纪念这个想法,我给它取了一个名字:乱七八糟非常规手段解决mysql数据库中文乱码的途径。 感谢阅读本文,感谢使用无忧香港系列php空间。   纯Linux环境下高端免备案[香港独立IP地址] php空间,仅仅只需199元一年起。商务中国域名核心代理直销50元注册国际顶级域名。

本文地址:https://www.51php.com/mysql/4013.html

1
1
1
1
1
1
1

客户服务热线

0791-8623-3537

在线客服