最近在尝试将创梦者(cm-z.net)数据库搬迁到腾讯云数据库。但是直接导出,然后再导入数据库出现如下错误。下面我就详细阐述下,面对数据库导入出现错误时我的解决思路和小窍门。
刚开始怀疑是版本问题,但是更改版本后依然提示错误。
于是想到了一个数据库管理工具:Navicat
将自建的数据和腾讯云数据库打开外网地址后分别链接到Navicat数据库管理工具:
链接完毕后,将本地数据库的表直接全选复制,然后粘贴到新表:
然后运行发现依然报错,用Discuz的数据库检查工具检测后发现:
不过目前我们90%的数据库已经搬迁成功了,就只剩下这两个表。我尝试过单独导出数据表,字符缺省各种办法,依然无效,应该是使用的自己编写的模板没有对文字进行格式化直接存进数据库导致的,当然这些都是后话,目前为止如果不删除数据表的前提,我们只能用非正常手段强行导入数据库。 我们将这两个表打开然后导出为ACCESS格式(转储为DB会出现编码问题):
然后在目标数据库导入mdb数据。
完工,但是由于ACCESS数据库支持的数据类型有限,导入时会出现较大的偏差,所以我们需要自己重新设计数据类型和长度。
在Discuz后台运行数据库检测工具,查看原本数据类型。然后打开Navicat工具一一对数据表类型,长度,null,主键进行修改。
至此本次数据库搬迁全部完毕。关闭腾讯云的外网数据库地址,修改discuz三个配置表(采用内网IP,端口即可):
\config\config_global.php \config\config_ucenter.php \uc_server\data\config.inc.php
至此数据库搬迁完毕,数据访问快了一倍不止。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。