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

公司搭建了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了,现在把数据库结构复制了过来,下一步选择数据同步,把数据同步到当前库中

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

点击开始就可以了

这样数据库就迁移成功了

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值