zoukankan      html  css  js  c++  java
  • MySQL 如何修改字符集 utf8 改为 utf8mb4

    在实行sql server 向 mysql 迁移数据时,报错:

    Incorrect string value: 'xF0x9Fx98x8A' 

    原因是mysql 采用的是 utf8 的字符集,而该字符集最多占用三个字节,而一些 表情 需要占用 4个字节,所以需要将 utf8 改成 utf8mb4。

    原始配置为:

    #mysql 5.5 新增参数 
    character_set_server=utf8    
    collation_server=utf8_bin

    我将 character_set_server=utf8 改为:character_set_server=utf8mb4,重启mysql 却报错:

    发生系统错误 1067 进程意外终止

    但是查看错误日志,却没有显示是什么错误信息。又倒腾了一会儿,想到是不是 collation_server 也要修改成 utf8mb4_bin,测试的结果果然如此。

    所以要注意在将 MySQL字符集 utf8 改为 utf8mb4 时,一定要注意 collation_server 也要同时修改

    干脆将 default-character-set=utf8mb4 也改成了算了。

    最后的字符配置如下:

    [mysql]
    default-character-set=utf8mb4
    init_connect='set names utf8mb4'
    
    [mysqld]
    character_set_server=utf8mb4
    collation_server=utf8mb4_bin

    修改之后,启动成功。

  • 相关阅读:
    Docker PHP 扩展配置
    PHP 打水印功能
    MYSQL的主从复制
    CentOS7开启防火墙及特定端口
    非常全面的讲解Hosts文件
    STL的erase()陷阱-迭代器失效总结
    scons使用
    SecureCRT 使用技巧
    atomic, spinlock and mutex性能比较
    内存池的实现(二)
  • 原文地址:https://www.cnblogs.com/digdeep/p/4783128.html
Copyright © 2011-2022 走看看