• 删除docker中原有mysql容器
    docker ps -a查看所有容器
    docker rm -f 后跟docker中mysql机器码
  • docker images查看镜像中所有映射文件
    修改docker中mysql的默认编码格式
  • 重新在docker中新建mysql容器
    docker runu -d --name mysql1 -p 3306:3306 -e MYSQL_ROOT_PASSWORD_PASSWORD=密码 机器码
    修改docker中mysql的默认编码格式
    docker ps -a 查看是否创建完成
  • 启动mysql容器
    docker start 机器码
    docker exec -it 机器码 /bin/bash
    修改docker中mysql的默认编码格式
  • 在该状态下进入/etc/mysql/conf.d/文件夹
    修改docker中mysql的默认编码格式
    查看所有文件 显示绝对路径 pwd
    cd退出该文件夹 exit退出docker镜像
  • docker cp 机器码:/etc/mysql/conf.d/mysql.cnf /usr/soft/ 将docker镜像中mysql容器里mysql.cnf文件复制到linux中修改
  • 用notepad修改复制出的文件 将原有一行代码删除 添加下列代码
[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake`
  • 保存文件并复制回docker下mysql 然后重启mysql

    docker cp /usr/soft/mysql.cnf 机器码:/etc/mysql/conf.d/
    docker restart 机器码

  • 进入mysql
    docker exec -it 机器码 /bin/bash
    mysql -u用户名 -p密码

  • 查看docker中mysql默认编码格式
    修改docker中mysql的默认编码格式

  • 均显示为utf-8 其中binary为2进制编码

相关文章: