环境搭建-Docker部署Mysql

129 阅读1分钟

1.下载MySql镜像

# 这次使用版本5.7.37
docker pull mysql:5.7.37

2.Mysql配置准备,将docker运行的MySql配置挂载到本地

# 执行命令 启动mysql
docker run -d -p 3306:3306 --name mysql-server -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.37

3.将配置从容器中复制到本地,用于挂载

# 我是将配置放在home下的docker目录
# 创建文件夹
sudo mkdir -p /home/docker/mysql/conf && sudo mkdir -p /home/docker/mysql/data
# 复制文件
sudo docker cp mysql-server:/etc/mysql/conf.d /home/docker/mysql/conf
# 停止刚才启动的临时MySql服务
docker stop mysql-server
# 删除文件
docker rm mysql-server

4.启动服务,并将本地文件夹映射到容器中

# 映射文件夹启动服务
docker run --name mysql \
-p 3306:3306 \
-v /home/docker/mysql/data:/var/lib/mysql \
-v /home/docker/mysql/conf/conf.d:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.37
# --name 服务名为 mysql
# -p 映射端口 3306
# -v 将本地的/home/docker/mysql/data文件夹映射为容器中的/var/lib/mysql目录,将本地的/home/docker/mysql/data文件夹映射为容器中的/var/lib/mysql目录
# -e 传递环境变量 设置root密码为123456 
# -d  后台运行容器,并返回容器ID

5.添加远程用户

# 进入容器
docker exec -it mysql bash
# 进入MySql
mysql -u root -p # 确认后输入密码
# 创建用户
create user 'test' identified by '123456';
# 给权限
grant all privileges on *.* to 'test'@'%' with grant option;

到这里使用工具进行连接测试