演示为5.7版本,高版本不能在run时配置密码。
-----------------------------------------
#拉镜像
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mysql:5.7.18
#打标签
docker image tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mysql:5.7.18 mysql:5.7
#-p 宿主机3302端口映射到容器3306 -v 宿主机和容器数据卷映射(备份容器内数据目录,防止数据丢失)
mkdir -p /opt/mysql/{data,conf,log}
docker run -d -p 3302:3306 --privileged=true -v /opt/mysql/log:/var/log/mysql -v /opt/mysql/data:/var/lib/mysql -v /opt/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name mysql swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mysql:5.7.18
#查看
docker ps
-----------------------------------------
#修改字符集
vim /opt/mysql/conf/my.cnf
[client]
default_character_set=utf8
[mysqld]
collation_server=utf8_general_ci
character_set_server=utf8
#在终端进入容器
docker restart mysql #重启配置生效
docker exec -it mysql /bin/bash
mysql -uroot -p123456
show variables like 'character%'; #查看client字符集是否为utf8
#建库建表测试mysql能否使用
create database xixi;
create table xixi.xixi(id int not null,username varchar(10));
select * from xixi.xixi;
#win10客户端连接mysql
jdbc://192.168.61.70:3302, 驱动属性allowpublickeyRetrieval:true
use xixi; inster into xixi values(1,"张三"); #已经修改字符集,插入中文是可行的。
select * from xixi;