• 虚拟主机导入MySQL出现Unknown character set: ‘utf8mb4’


    http://www.lmlblog.com/14.html

    前几天进行网站搬家,MySQL导入数据的时候,出现以下错误(没有定义的编码集utf8mb4):

    
    
    1. SQL 查询:
    2. ;
    3. MySQL 返回:文档
    4. #1115 - Unknown character set: 'utf8mb4'

    utf8mb4错误

    问题原因:.sql是从恒创主机导出,然后导入到西部数码。因为恒创虚拟主机配备的MySQL数据库版本是5.6。而西部数码虚拟主机配备的MySQL数据库版本是5.1,不支持utf8mb4字符集。所以出现错误,要将mysql数据库升级到5.5以上版本才支持。

    西数虚拟主机更换机房

    如果你用的是西部数码的虚拟主机的,可以在虚拟主机管理--管理--(主机相关服务管理)更换机房--选择mysql5.6版本,系统会自动切换mysql5.6服务器。(西部数码目前很多服务都要收手续费的,如机房更换要20元手续费,感觉有点坑吧)

    在阿里虚拟主机通过控制面板的DMS工具导入MySQL出现也出现如下报错(目前阿里云数据库暂时不支持utf8mb4这个字符集):

    
    
    1. 执行的SQL语句出错:
    2. 错误信息:Unknown character set: 'utf8mb4'

    DMS工具导入MySQL

    目前大多数服务器数据库版本都是5.1的,如果你用的是阿里虚拟主机,又的确需要使用utf8mb4字符集,可以购买使用MySQL 5.5以上版本的RDS服务。

    另一个解决方法:使用记事本打开.sql文件,通过ctrl+h将该文件的中的CHARSET = utf8mb4全部替换成CHARSET = utf8,将COLLATE = utf8mb4_unicode_ci 全部替换为COLLATE = utf8_general_ci,然后重新导入测试,修改之前建议先对源文件做备份。(建议先将之前导入的部分数据删除,将数据库清空再操作导入。)

    说白了,虚拟主机导入MySQL数据出现以上报错:unknown collation:utf8mb4_unicode_ci,就是mysql版本高低造成的。更多方法欢迎交流分享。

    PS:目前多数服务器的数据库mysql5.6可以兼容mysql5.1的,导入一般不会有问题。但版本5.1迁移(导入)到其他版本5.6可能会出错,建议尝试升级更高版本的数据库。

  • 相关阅读:
    【转】php中XML、XSLT的结合运用
    【转】PHP 5.3 5.4 5.5 5.6特性
    Go语言的编程范式
    Appcelerator Titanium Studio: JNI_CreateJavaVM missing error
    良好Web系统架构的几个因素
    决定去掉博客中附加的多说评论
    用PHP实现Windows域验证
    Netbeans 8.0.1 坑爹请不要升级
    教程:30分钟学会Adobe Premiere
    完美:adobe premiere cs6破解版下载[序列号+汉化包+破解补丁+破解教程]
  • 原文地址:https://www.cnblogs.com/lxwphp/p/7730946.html
Copyright © 2020-2023  润新知