docker环境下使用mysql出现编码格式问题修改编码格式的方法

时间:2024-03-19 21:46:00

方法一(适用于单机器修改)

首先确定mysql服务处于开始状态

  • 键入docker exec -it +服务名 /bin/bash 进入控制台
  • 键入apt-get update 命令
  • 键入apt-get install vim (上述两条命令用于下载vim编辑器),
  • 输入vim /etc/mysql/mysql.conf.d/mysqld.cnf 命令 进入mysqld.cnf文件
  • 4.使用i打开编辑模式,在文本的最后输入以下内容:
    注意:下面的内容一定不能输错,否则会造成配置文件失效
  • [client]
  • default-character-set=utf8
  • [mysql]
  • default-character-set=utf8
  • [mysqld]
  • character-set-server=utf8
  • ESC退出,shift+冒号wq保存 退出。
  • 5.进入mysql控制台
  • 6.输入show variables like ‘char%’; 即可查看到修改后的相应信息
  • docker环境下使用mysql出现编码格式问题修改编码格式的方法
  • 修改完毕重启数据库后:输入show variables like"char%"即可
  • docker环境下使用mysql出现编码格式问题修改编码格式的方法
  • 出现上述结果说明已经修改成功

方法二(适用于集群搭建)

将配置文件拷贝出原目录,使用外部文件修改,此方法用于发送文件到多台服务器进行数据库默认编码修改

  • docker exec -it +服务名 /bin/bash 进入控制台

  • 输入cd /etc/mysql/conf.d/ 进入配置文件目录

  • 输入pwd获取文件绝对路径

  • 输入cd回退到控制台,exit退出

  • 输入docker cp 服务名:/etc/mysql/conf.d/mysql.cnf /usr/soft ( 将docker中的mysql.cnf文件拷贝到linux下的soft文件夹中)

  • 开启外部编辑器(如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出现编码格式问题修改编码格式的方法
PS:注意配置文件的内容要有间隔,这一点很重要

  • 保存好

  • 7.docker cp /usr/soft/mysql.cnf 服务名:/etc/mysql/conf.d/ 将修改后的文件拷贝到原来的目录下覆盖

  • 8.重启docker中的mysql服务,然后

  • 9.输入 show variables like ‘char%’;命令即可查看已经修改好的字符编码格式