由于需要用到utf8mb4,之前是utf8现在给改成utf8mb4

查看当前环境

  1. SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';
  2. +--------------------------+--------------------+
  3. | Variable_name | Value |
  4. +--------------------------+--------------------+
  5. | character_set_client | latin1 |
  6. | character_set_connection | latin1 |
  7. | character_set_database | utf8mb4 |
  8. | character_set_filesystem | binary |
  9. | character_set_results | latin1 |
  10. | character_set_server | utf8mb4 |
  11. | character_set_system | utf8 |
  12. | collation_connection | latin1_swedish_ci |
  13. | collation_database | utf8mb4_general_ci |
  14. | collation_server | utf8mb4_general_ci |
  15. +--------------------------+--------------------+

打开MySQL的配置文件,将字符集的配置修改成如下:

  1. [client]
  2. default-character-set = utf8mb4
  3.  
  4. [mysql]
  5. default-character-set = utf8mb4
  6.  
  7. [mysqld]
  8. character-set-client-handshake = FALSE
  9. character-set-server = utf8mb4
  10. collation-server = utf8mb4_general_ci
    init_connect='SET NAMES utf8mb4'

修改后

  1. root@localhost:(none)>SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';
  2. +--------------------------+--------------------+
  3. | Variable_name | Value |
  4. +--------------------------+--------------------+
  5. | character_set_client | utf8mb4 |
  6. | character_set_connection | utf8mb4 |
  7. | character_set_database | utf8mb4 |
  8. | character_set_filesystem | binary |
  9. | character_set_results | utf8mb4 |
  10. | character_set_server | utf8mb4 |
  11. | character_set_system | utf8 |
  12. | collation_connection | utf8mb4_unicode_ci |
  13. | collation_database | utf8mb4_unicode_ci |
  14. | collation_server | utf8mb4_unicode_ci |
  15. +--------------------------+--------------------+
  16.  
  17. root@localhost:(none)>\s;
    --------------
    mysql  Ver 14.14 Distrib 5.1.73, for redhat-linux-gnu (x86_64) using readline 5.1
  18.  
  19. Connection id:        61
    Current database:    
    Current user:        root@localhost
    SSL:            Not in use
    Current pager:        stdout
    Using outfile:        ''
    Using delimiter:    ;
    Server version:        5.5.36-log Source distribution
    Protocol version:    10
    Connection:        Localhost via UNIX socket
    Server characterset:    utf8mb4
    Db     characterset:    utf8mb4
    Client characterset:    utf8mb4
    Conn.  characterset:    utf8mb4
    UNIX socket:        /tmp/mysql.sock
    Uptime:            3 min 22 sec
  20.  

修改后发现连接报错

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

修改/usr/share/mysql/charsets/Index.xml

修改前

  1. <charset name="utf8">
  2. <family>Unicode</family>
  3. <description>UTF-8 Unicode</description>
  4. <alias>utf-8</alias>
  5. <collation name="utf8_general_ci" id="33">
  6. <flag>primary</flag>
  7. <flag>compiled</flag>
  8. </collation>
  9. <collation name="utf8_bin" id="83">
  10. <flag>binary</flag>
  11. <flag>compiled</flag>
  12. </collation>
  13. </charset>

修改后

  1. <charset name="utf8mb4">
  2. <family>Unicode</family>
  3. <description>UTF-8 Unicode</description>
  4. <alias>utf-8</alias>
  5. <collation name="utf8_general_ci" id="33">
  6. <flag>primary</flag>
  7. <flag>compiled</flag>
  8. </collation>
  9. <collation name="utf8_bin" id="83">
  10. <flag>binary</flag>
  11. <flag>compiled</flag>
  12. </collation>
  13. </charset>

mysql utf8改utf8mb4的更多相关文章

  1. mysql 5.5 数据库 utf8改utf8mb4

      由于需要用到utf8mb4,之前是utf8现在给改成utf8mb4 查看当前环境 SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_ ...

  2. Java Unicode编码 及 Mysql utf8 utf8mb3 utf8mb4 的区别与utf8mb4的过滤

    UTF-8简介 UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,也是一种前缀码.它可以用来表示Unicode标准中的任何 ...

  3. MySQL utf8 和 utf8mb4 的区别

    utf-8 时变化长度的编码,储存一个code point 需要1~4个字节. 然而,mysql的utf8只存储最多3个字节per code point. 所以,utf8字符集不能存储所有的unico ...

  4. Emoji表情符号录入MySQL数据库报错的解决方案(MySQL utf8与utf8mb4区别)

    本文转自:http://blog.itpub.net/26230597/viewspace-1243233/前言:手机app应用评论的时候,恢复表情符号,提示失败. 1,查看tomcat后台日志,核心 ...

  5. MySQL UTF8 转为 utf8mb4

    https://mathiasbynens.be/notes/mysql-utf8mb4#utf8-to-utf8mb4 How to support full Unicode in MySQL da ...

  6. MySQL 如何修改字符集 utf8 改为 utf8mb4

    在实行sql server 向 mysql 迁移数据时,报错: Incorrect string value: '\xF0\x9F\x98\x8A' 原因是mysql 采用的是 utf8 的字符集,而 ...

  7. 浅谈mysql中utf8和utf8mb4区别

    转自:http://ourmysql.com/archives/1402  实践过程中发现有时mysql的字符集会引起故障,所以需要了解下这个知识点. 一.简介 MySQL在5.5.3之后增加了这个u ...

  8. 清官谈mysql中utf8和utf8mb4区别

    清官谈mysql中utf8和utf8mb4区别 发布时间:2015 年 10 月 4 日 发布者: OurMySQL 来源:JavaRanger - 专注JAVA高性能程序开发.JVM.Mysql优化 ...

  9. MySQL 编码:utf8 与 utf8mb4,utf8mb4_unicode_ci 与 utf8mb4_general_ci

    参考:mysql字符集小结 utf8mb4 已成为 MySQL 8.0 的默认字符集,在MySQL 8.0.1及更高版本中将 utf8mb4_0900_ai_ci 作为默认排序规则. 新项目只考虑 u ...

随机推荐

  1. (一)Redis简介及安装

    Redis简介 Redis 是一个开源(BSD许可)的,内存中的key-value数据结构存储系统,它可以用作数据库.缓存和消息中间件. Redis具有丰富的数据结构类型.包括字符串(string), ...

  2. Codeforces ZeptoLab Code Rush 2015 D.Om Nom and Necklace(kmp)

    题目描述: 有一天,欧姆诺姆发现了一串长度为n的宝石串,上面有五颜六色的宝石.他决定摘取前面若干个宝石来做成一个漂亮的项链. 他对漂亮的项链是这样定义的,现在有一条项链S,当S=A+B+A+B+A+. ...

  3. Javascript-基础2

    1. Javascript 字符串里面的方法: obj.length 长度 obj.trim() 移除空白 obj.trimLeft() obj.trimRight) obj.charAt(n) 返回 ...

  4. BZOJ3994:[SDOI2015]约数个数和——题解

    http://www.lydsy.com/JudgeOnline/problem.php?id=3994 https://www.luogu.org/problemnew/show/P3327#sub ...

  5. Vue推荐资料

    推荐博文(我是看过,才敢说的偶): 基础教学: 菜鸟语法教程:https://cn.vuejs.org/v2/guide/syntax.html  http://www.runoob.com/vue2 ...

  6. bzoj3524: [Poi2014]Couriers(主席树)

    主席树(可持久化权值线段树)初探... 修改一个点只对树上logn个点有影响,所以新建logn个点就行了,总共新建mlogn个点. 查询一个区间[l,r],相当于将数一个一个加进树,询问第l到第r次操 ...

  7. logrotate配置和使用

    logrotate是linux自带的日志管理工具.服务器如果不对日志进行滚动操作,单个日志文件的增长速度极快,不利于日志查找和问题定位.而logrotate能够自动完成日志的截断.压缩和滚动操作. 安 ...

  8. 【算法日记】2.算法中的大O符号

    大O符号是一种算法复杂度的相对表示方式. 1.大O表示算法的操作数,表示出算法运行的快慢 2.大O表示法指出了最糟糕情况下的运行时间,例如 简单查找的运行时间O(n),意味着在最糟糕的情况下,必须运行 ...

  9. [Luogu 2590] ZJOI2008 树的统计

    [Luogu 2590] ZJOI2008 树的统计 裸树剖不解释. 比板子还简单. #include <algorithm> #include <cstdio> #inclu ...

  10. mysql 高级应用

    1.MySQL like 模糊查询 例如:select * from emp where name like '张%'; 2.1MySQL UNION 操作符 SELECT country FROM ...