Docker安装MySQL5.7,并解决中文乱码问题
在Docker中安装5.7
一、安装常规步骤
在docker中安装软件大概就分为这几种
- 查询所需要的软件镜像
- pull镜像
- 运行镜像(镜像变容器)
- 查看容易是否运行
二、安装MySQL5.7
-
查询mysql5.7的镜像
docker search mysql:5.7 --limit 5
参数说明:
–limit:可以指定查询的个数
因为在pull镜像的时候,一般选择第一个,使用的人多,而且有权威,所以找前五个看看就行
-
pull镜像
docker pull musql:5.7
查看是否拉到了镜像
docker images
这个镜像我在之前已经下载好了
-
生成容器
docker run -it --name mysql5.7 mysql:5.7 /bin/bash
参数说明:
-it:交互式的方式运行,就是会返回一个容器交互的终端
–name:为容器起一个别名
就进入了mysql中
这种方法有个问题,虽然运行了mysql,但是并没有为用户附有密码,所以,在运行的时候增加参数
MYSQL_ROOT_PASSWORD
docker run -it --name mysql5.7 -e MYSQL_ROOT_PASSWORD=000000 mysql:5.7 /bin/bash
-
查看是否运行
docker ps
可以看到已经运行了
三、更改字符集
登陆进去MySQL的客户端
查看MySQL的编码
show variables like 'character%';
可以看到都是拉丁
需要改正他的编码方式,在配置文件/etc/mysql/conf.d/my.cnf中增加
[client]
default_character_set=utf8
[mysqld]
collation_server=utf8_general_ci
character_set_server=utf8
重启容器
docker restart mysql
再次登录进去mysql,查看编码
插入带有中文字符的数据,查看数据是否还存在乱码
insert into tb01 values('tom',1),('王五',10);
select * from tb01;
乱码问题解决