Linux系统下使用docker容器安装mysql5.7并更改字符集编码

Linux版本:3.10.0
Red-Hat:4.8.5-44
Docker:20.10.7
MySql:5.7

Mysql安装步骤

一、创建mysql实例

①3306:3306表示当前宿主机容器号:mysql的容器号

②-e MYSQL_ROOT_PASSWORD:设置管理员密码

③-i:运行容器
-d:创建守护式容器(能够使用docker exec方法连接上容器,且退出时容器不会停止)
-p:端口映射
-e:设置环境变量(后边跟一些变量和命名)
释义:使用mysql8.0.25版本作为镜像,创建一个名为mysql8.0.25的容器在3306端口,与宿主机的3306端口映射,设置root用户密码为123

docker run -id --name mysql -p 3306:3306  -e MYSQL_ROOT_PASSWORD=123 mysql:5.7

二、查看是否能成功生成mysql容器

docker ps -a

三、进入mysql容器中

docker exec -it mysql /bin/bash

四、看能否进入mysql

mysql -uroot -p设置的密码

五、退出容器后设置mysql自启动

docker update mysql --restart=always

至此mysql就能正常运行并且在重启Linux后mysql服务能自动启动,但此时的mysql编码可能并不是utf8

更改字符集编码(重启后依然生效)

一、查看目前字符集编码

SHOW VARIABLES LIKE '%char%';

显示非utf8编码
可以看到编码方式不是以utf8输出,因此,可以考虑去mysql容器中修改mysql的配置文件

二、从容器中取得相应配置文件

因为容器内部没有文本编辑器,因此我们需要从容器中取得相应文件在容器外编辑

docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf /temp
cd /temp

三、对mysqld.cnf文件进行编辑

为文件添加字符集编码配置
在这里插入图片描述
如果没有[client]标签可以自己添加

四、将修改后的文件放进容器中

docker cp mysqld.conf mysql:/etc/mysql/mysql.conf.d/

五、重启mysql服务后再次查看编码

#重启mysql服务
docker restart mysql
#进入mysql容器
docker exec -it mysql /bin/bash
#进入mysql数据库
mysql -uroot -p设置的密码
#查看字符集编码
SHOW VARIABLES LIKE '%char%';

在这里插入图片描述
修改成功

修改字符集编码的补充:

进入容器想修改my.cnf时发现结构如下:
在这里插入图片描述
my.cnf并不是一个配置文件而是一个软链接,查看软链接地址之后发现/etc/alternatives/my.cnf也是一个连接到/etc/mysql/mysql.cnf的软链接,因此打算直接修改mysql.cnf
利用cat读取mysql.cnf的内容在这里插入图片描述
发现还调用了其他的配置文件,进入后发现了配置文件信息,就能对mysql配置进行修改了

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值