mysql数据迁移时数据库版本不同

转载自:https://blog.csdn.net/weixin_39621687/article/details/81035903

公司搭建了2台服务器, 准备把原先的服务器撤下来, 需要把原服务器上的数据库迁移到新的服务器上,但是现在的服务器数据库还是5.1版本的(买的别人的服务器,他们装好的mysql),但是旧服务器的数据库版本是5.5 的,从5.5把数据迁移至5.1,总是会遇到不兼容的问题

为什么会使用utf8mb4,因为utf8mb4才是真正的utf8编码

“utf8”只支持每个字符最多三个字节,而真正的 UTF-8 是每个字符最多四个字节。

MySQL 一直没有修复这个 bug,他们在 2010 年发布了一个叫作“utf8mb4”的字符集,绕过了这个问题。

当然,他们并没有对新的字符集广而告之(可能是因为这个 bug 让他们觉得很尴尬),以致于现在网络上仍然在建议开发者使用“utf8”,但这些建议都是错误的。

简单概括如下:

    MySQL 的“utf8mb4”是真正的“UTF-8”。

    MySQL 的“utf8”是一种“专属的编码”,它能够编码的 Unicode 字符并不多。

    数据迁移方式1:

    使用navicat ,数据库上右击,转储sql文件,选择数据和结构

            

    等他运行成功, 会保存为一个.sql文件

    然后在新的数据库连接上新建连接,右击运行sql文件

    如果日志为successfully,那么没问题,正常

方式2:

    目标服务器上新建一个跟之前数据库名一样的数据库,选择工具,数据传输

    

    等他正常结束

方式3:

    点击备份,新建备份,提取sql,然后到目标数据库运行sql文件即可

    

    

以上方式正常情况都是没问题的,亲自试过~

但是5.1不支持utf8mb4格式,使用navicat导入数据的时候怎么都导不进去,一个一个改吧,其实navicat可以批量修改替换Ctrl+F,点击替换,全部替换,OK

设计表,sql预览,另存为,然后复制,在新数据库中新建查询,把语句复制过去,改一下,运行,即可

这样就把utf8mb4换成utf8了,现在把数据库结构复制了过来,下一步选择数据同步,把数据同步到当前库中

在数据库连接上,选择工具,数据同步

点击开始就可以了

这样数据库就迁移成功了
 

猜你喜欢

转载自blog.csdn.net/F_hawk189/article/details/88553943
今日推荐