docker安装Mysql8.0

Docker部署Mysql8.0

1.拉取镜像

docker pull mysql:[版本号]

当前安装mysql8.0,执行docker pull mysql:8.0

2.查看镜像

docker images

3.复制目录

这里由于8.0和5.6配置文件目录有所不同,可能会发生

docker安装Mysql8.0_第1张图片

通过docker logs命令查看,是由于缺少/etc/mysql/conf.d目录,启动失败.需要先查看目录结构,再做判断.

此处不绑定端口,只用于查看文件目录,和拷贝配置,也不会后续创建的容器发生端口冲突:
docker run -d -e MYSQL_ROOT_PASSWORD=123456 --name mysql8.0_test mysql:8.0

进入容器中,查看对应/etc/下的mysql配置文件:
docker exec -it mysql8.0_test /bin/bash

此处可以看到存在my.cnf,my.cnf.d,mysql.
docker安装Mysql8.0_第2张图片

此处可以推断,挂载时保留目录conf.d

4.mysql8.0启动镜像

docker run -d -p 3306:3306 -v [本地目录]:[容器目录] -e MYSQL_ROOT_PASSWORD=[设置密码]  --name [设置容器名]  mysql:[拉取的镜像版本号]

docker run -d -p 3306:3306 -v /root/docker_mount/mysql_8.0/node_01/conf:/etc/mysql/conf.d -v /root/docker_mount/mysql_8.0/node_01/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql8.0_node01 mysql:8.0

请添加图片描述

5.查看是否启动

docker ps

请添加图片描述

6.mysql8.0进入容器内设置远程连接

docker exec -it [容器名] /bin/bash

1.进入容器内

docker exec -it mysql8.0_node01 /bin/bash

2.登录mysql

mysql -u root -p, 此时提示输入密码,输入密码即可进入

docker安装Mysql8.0_第3张图片

3.开启远程连接

use mysql;
select Host,User from user;
docker安装Mysql8.0_第4张图片

此时查看到存在Host允许为任意ip访问root用户。

如果没有则需要以下命令赋予权限:
GRANT ALL PRIVILEGES ON . TO ‘root’@‘%’ IDENTIFIED BY ‘password’ WITH GRANT OPTION;
FLUSH PRIVILEGES;

你可能感兴趣的:(docker,容器,mysql)