zoukankan      html  css  js  c++  java
  • 虚拟主机导入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可能会出错,建议尝试升级更高版本的数据库。

  • 相关阅读:
    Android 2.2 r1 API 中文文档系列(11) —— RadioButton
    Android API 中文 (15) —— GridView
    Android 中文 API (16) —— AnalogClock
    Android2.2 API 中文文档系列(7) —— ImageButton
    Android2.2 API 中文文档系列(6) —— ImageView
    Android 2.2 r1 API 中文文档系列(12) —— Button
    Android2.2 API 中文文档系列(8) —— QuickContactBadge
    [Android1.5]TextView跑马灯效果
    [Android1.5]ActivityManager: [1] Killed am start n
    Android API 中文(14) —— ViewStub
  • 原文地址:https://www.cnblogs.com/lxwphp/p/15455097.html
Copyright © 2011-2022 走看看