docker安装myql5.7和mysql8.0
docker安装mysql5.7
下载镜像
docker pull mysql:5.7
创建映射文件夹
mkdir -p /docker/mysql/conf mkdir -p /docker/mysql/logs mkdir -p /docker/mysql/data
创建容器
docker run --privileged=true -p 3306:3306 --name mysql -v /docker/mysql/conf:/etc/mysql/conf.d -v /docker/mysql/logs:/var/log/mysql -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=223345 -d mysql:5.7
-p 3306:3306 主机端口跟容器端口映射
–name mysql 设置容器名字
-v /docker/mysql/conf:/etc/mysql/conf.d 挂载配置文件
-v /docker/mysql/logs:/var/log/mysql 挂载日志
-v /docker/mysql/data:/var/lib/mysql 挂载数据文件,持久化到主机
-e MYSQL_ROOT_PASSWORD=223345 设置密码
-d mysql:5.7 后台启动,使用的镜像为mysql:5.7
配置my.cnf
#创建my.cnf cd /docker/mysql/conf/ vim my.cnf
```bash #插入配置 [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 skip-name-resolve
注意
上面这里一定不能有任何换行的操作
重启mysql
docker restart mysql
docker 安装mysql8.0
下载镜像
docker pull mysql:8.0
创建映射文件夹
mkdir -p /docker/mysql8/data mkdir -p /docker/mysql8/logs mkdir -P /docker/mysql8/conf
创建容器
docker run --privileged=true -p 3307:3306 --name mysql8 -v /docker/mysql8/conf:/etc/mysql/conf.d -v /docker/mysql8/logs:/var/log/mysql -v /docker/mysql8/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=223345 -d mysql:8.0
设置root账户外网可访问
# 进入容器 docker exec -it mysql8 bash #进入mysql终端 mysql -uroot -p #设置root账户外网可访问 use mysql; ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root'; flush privileges; #退出 exit exit
配置my.cnf
[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 skip-name-resolve
重启mysql
docker restart mysql8