基于centos7环境下docker挂载mysql8
前言
本文前提是在服务器安装了docker的前提之下,如何安装docker,请大家自行百度!!!
一、docker部署在当下已经是一种趋势的,你不会还在用最原始的方法安装mysql吧?
二、话不多说、让我们开始
1.下载mysql8的镜像
docker pull mysql8.0
2.先启动一个测试的mysql8容器
docker run -d -p 3306:3306 --name mysql-test -e MYSQL_ROOT_PASSWORD=root@2022 mysql:8.0
3.创建需要挂载的宿主机文件夹
mkdir -p /data/mysql/conf
mkdir -p /data/mysql/logs
mkdir -p /data/mysql/data/mysql
4.复制容器内的配置文件到宿主机的 /data/mysql/conf 文件夹下
docker cp mysql-test:/etc/mysql/my.cnf /data/mysql/conf
# 这里mysql-test这是上述启动的测试mysql8容器的容器名字
5.删除之前的测试容器
1.停止测试容器
docker stop mysql-test
2.删除测试容器
docker rm mysql-test
6.挂载新的mysql容器
docker run --restart=always -d -v /data/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /data/mysql/logs:/logs -v /data/mysql/data/mysql:/var/lib/mysql -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root@2022 mysql:8.0
注:参数说明
-v /data/mysql/conf/my.cnf:/etc/mysql/my.cnf 挂载容器内的配置文件到宿主机/data/mysql/conf/my.cnf
-v /data/mysql/logs:/logs 挂载容器内的log文件到宿主机/data/mysql/logs
-v /data/mysql/data/mysql:/var/lib/mysql 挂载容器内的数据文件到宿主机/data/mysql/data/mysql下
7.开启mysql远程连接
1.进入容器
docker exec -it mysql /bin/bash
2.连接mysql
mysql -u root -p root@2022
3.开启远程连接
use mysql;
update user set Host='%' where User='root';
select host, user from user;
flush privileges;
8.开启安全组3306端口或者关闭防火墙
测试一下远程连接
总结
今天的docker挂载mysql8就讲到这里,有问题的小伙伴留言。