Character set ‘utf8mb4’ is not a compiled character set

  • Post author:
  • Post category:其他


最近在一次MySQL数据迁移的过程中遭遇了字符集的问题,提示为”Character set ‘utf8mb4’ is not a compiled character set”。即是字符集utf8mb4不是一个编译的字符集以及没有在Index.xml文件里指定。下面是其处理过程及解决办法,供大家参考。

1、错误提示

SHELL> mysqlbinlog –database=bs_salary –stop-datetime=”2014-12-15 8:24:48″ /home/robin/mysql-bin.000399 \

> |mysql -uroot -p –force –database=salary_1215

mysql: Character set ‘utf8mb4’ is not a compiled character set and is not specified in the ‘/usr/share/mysql/charsets/Index.xml’ file

2、分析与解决


a、错误分析


从给出的错误提示来看,说utf8mb4字符集未被编译,而事实上这个字符集根本没有用到。

其次说这个文件里/usr/share/mysql/charsets/Index.xml未指定utf8mb4字符集,需要检查字符集目录设置。


b、字符集检查


首先检查了新旧环境的字符集设置,两边都为UTF8,如下

mysql> show variables like ‘%char%’;

+————————–+———————————+

| Variable_name            | Value                           |

+————————–+———————————+

| character_set_client     | utf8                            |

| character_set_connection | utf8                            |

| character_set_database   | utf8                            |

| character_set_filesystem | binary                          |

| character_set_results    | utf8                            |

| character_set_server     | utf8                            |

| character_set_system     | utf8



版权声明:本文为fsfsdfsdw原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。