MySQL容器中文乱码问题

MySQL容器中文乱码问题

1.创建文件utf8mb4.cnf,内容如下,这个就是sql的配置文件,作用是把默认字符集改为utf8mb4

[client]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4

[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

2.在utf8mb4.cnf同一目录,创建文件Dockerfile,内容如下,作用是基于mysql5.7 官方的docker镜像,把utf8mb4.cnf 复制到容器的/etc/mysql/conf.d/目录下,构建新镜像

FROM mysql:5.7
COPY utf8mb4.cnf /etc/mysql/conf.d/

3.在该目录打开shell,输入如下命令,基于上面2个文件构建新镜像,并打上标签mysql5.7_utf8mb4

docker build . -t mysql5.7_utf8mb4 .

4. 运行容器

docker run -d -p:3306:3306 --name geek-mysql   -e MYSQL_ROOT_PASSWORD=root mysql5.6_utf8mb4

5.其他相关操作

  • 进入容器
    docker exec -it geek-mysql /bin/bash

  • 下载 vim
    apt-get update
    apt-get install vim

  • 进入mysql命令行
    mysql -uroot -p

    • 查看编码
      show variables like’character%’;

    • quit 退出mysql

  • 退出容器,但不暂停容器
    Ctrl+P+Q进行退出容器

  • 退出容器并且暂停容器
    exit

参考资料:https://blog.csdn.net/yitaidn/article/details/64988272

你可能感兴趣的:(MySQL,Docker)