方法一(适用于单机器修改)
首先确定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%’; 即可查看到修改后的相应信息
- 修改完毕重启数据库后:输入show variables like"char%"即可
- 出现上述结果说明已经修改成功
方法二(适用于集群搭建)
将配置文件拷贝出原目录,使用外部文件修改,此方法用于发送文件到多台服务器进行数据库默认编码修改
-
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
PS:注意配置文件的内容要有间隔,这一点很重要
-
保存好
-
7.docker cp /usr/soft/mysql.cnf 服务名:/etc/mysql/conf.d/ 将修改后的文件拷贝到原来的目录下覆盖
-
8.重启docker中的mysql服务,然后
-
9.输入 show variables like ‘char%’;命令即可查看已经修改好的字符编码格式