美文网首页
Docker compose 配置 mysql emoji 支持

Docker compose 配置 mysql emoji 支持

作者: 思考蛙 | 来源:发表于2018-01-15 17:33 被阅读0次

    Docker-compose.yml 文中配置如下

    # mysql-db:
    mysql_db:
      image: mysql:5.7
      volumes:
        - /_share/master_db:/var/lib/mysql
      environment:
        - MYSQL_ROOT_PASSWORD=password
        - MYSQL_DATABASE=dbname
      ports:
        - "3399:3306"
      command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --init-connect='SET NAMES UTF8MB4;' --sql-mode="NO_ENGINE_SUBSTITUTION" --innodb-flush-log-at-trx-commit=0
      expose:
        - "3306"
        - "3399"
    

    需要注意的是表也需支持 utf8mb4 集
    用以下命令查询数据库支持的字符集

     SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';
    

    查询表的 sql 模式,如果在严格模式下,表未设置成 utf8mb4 也是不支持 emoji 字符 的

    show variables like 'sql_mode';
    

    修改表的字符集

     alter table `table_name` convert to character set  utf8mb4;
    

    相关文章

      网友评论

          本文标题:Docker compose 配置 mysql emoji 支持

          本文链接:https://www.haomeiwen.com/subject/orydoxtx.html