Docker安装Mysql 8.0.27

本文介绍了如何在Docker中为MySQL配置utf8编码以解决中文乱码问题,并详细步骤演示了如何初始化并启动带有数据卷的MySQL容器,包括环境变量设置和数据持久化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 新建my.cnf配置文件解决中文乱码

因为docker安装的mysql的编码是latin1,读取中文时,会出现乱码。所以我们先在宿主机上准备好my.cnf配置文件

[root@docker ~]# 
[root@docker ~]# mkdir -p mysql/conf
[root@docker ~]# 
[root@docker ~]# vi mysql/conf/my.cnf
[root@docker ~]# 
[root@docker ~]# cat mysql/conf/my.cnf 
[client]
default_character_set = utf8

[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8


[root@docker ~]#

2. 初始化启动mysql容器

[root@docker ~]# 
[root@docker ~]# docker run -d -p 3306:3306 --privileged=true \
> -v /root/mysql/log:/var/log/mysql \
> -v /root/mysql/data:/var/lib/mysql \
> -v /root/mysql/conf:/etc/mysql/conf.d \
> -e MYSQL_ROOT_PASSWORD=Root_123  \
> --name mysql mysql
Unable to find image 'mysql:latest' locally
latest: Pulling from library/mysql
72a69066d2fe: Pull complete 
93619dbc5b36: Pull complete 
99da31dd6142: Pull complete 
626033c43d70: Pull complete 
37d5d7efb64e: Pull complete 
ac563158d721: Pull complete 
d2ba16033dad: Pull complete 
688ba7d5c01a: Pull complete 
00e060b6d11d: Pull complete 
1c04857f594f: Pull complete 
4d7cfa90e6ea: Pull complete 
e0431212d27d: Pull complete 
Digest: sha256:e9027fe4d91c0153429607251656806cc784e914937271037f7738bd5b8e7709
Status: Downloaded newer image for mysql:latest
0c250e845e48f77c829b2330fb9f102c053ca51ad1aae38d76544226644c12d7
[root@docker ~]# 

说明:

  • -e参数表示指定环境变量
  • 容器删除,再以相同的数据卷挂载方式新建容器,数据还在
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值