centos7.6:安装docker下mysql并外网远程连接
2021-09-15 本文已影响0人
玩转测试开发
拉取MySQL镜像5.7
docker pull mysql:5.7
查看拉取的镜像
docker images |grep mysql
图片
创建目录mysql用于存放MySQL相关文件
$ mkdir mysqlfiles
$ cd mysqlfiles
创建MySQL容器: !!!请注意这里设置暴露的对外端口是 3360 !!!
$ docker run -p 3360:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
#参数说明
-p 3360:3306:将容器的 3306 端口映射到主机的 3360 端口(第一个物理机端口,第二个容器端口)。
-v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。
-v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。
-v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。
-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。
-d: 后台运行容器,并返回容器ID
!!!请注意这里设置暴露的对外端口是 3360 !!!
查看运行的容器
docker ps | grep mysql
开启docker交互模式终端
$ docker exec -i -t mymysql /bin/bash
登录MySQL
$ mysql -u root -p
输入123456
进入MySQL后授权
#--数据库的所有权限授权给 user这个用户,允许user用户在任何一个 IP 进行远程登陆,并设置 root 用户的密码为 123456
> grant all PRIVILEGES on *.* to 'user'@'%' identified by '123456';
> flush privileges;
>exit;
退出docker终端
exit
添加安全组
图片使用navicat连接,并新建数据库 dkdb0916
图片 图片服务端登录mysql和检查创建情况:
docker exec -i -t mymysql /bin/bash
图片
自从,docker下安装mysql并且外网链接成功,并且操作正常。
微信公众号:玩转测试开发
欢迎关注,共同进步,谢谢!