docker环境下部署mysql

说明

工作中需要使用到ETL工具kettle进行数据的清洗、迁移、抽取工作,一台电脑上安装两个mysql数据苦显得有点资源打紧,毕竟本机不是长时间用mysql,就选择了在云服务器上搭建mysql 环境,本次云服务器采用的使用阿贝云免费云服务器作为环境操作。操作系统centos7.9。

centos7.9
mysql5.7

安装

docker安装

docker的安装本文不再讲解,如果需要安装docker参考之前的文章《云服务器搭建docker环境》

mysql安装

本文以mysql5.7为,打开dockerhub官网
docker环境下部署mysql
弹出的mysql页面上点击Tags标签,
docker环境下部署mysql
下滑页面,找到需要下载的版本,本次以5.7.35为例,点击右侧的方框按钮。
docker环境下部署mysql
在需要下载的服务器上复制如下信息

#docker pull mysql:5.7.35

查看镜像是否拉取成功

#docker images

创建mysql-hj

docker run -p 3306:3306 --name mysql-hj \
-v /usr/local/docker/mysql/conf:/etc/mysql \
-v /usr/local/docker/mysql/logs:/var/log/mysql \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7.35

创建mysql-mb

docker run -p 3307:3306 --name mysql-mb \
-v /data/docker/mysql/conf:/etc/mysql \
-v /data/docker/mysql/logs:/var/log/mysql \
-v /data/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-e TZ=Asia/Shanghai \
-d mysql:5.7.35

查看容器是否正常运行

#docker ps

可以看到容器ID,时间、端口、容器名称

防火墙设置

使用远程工具链接之前需要确保防火墙上已经开启3306和3307两个端口
查看端口

#firewalld-cmd --list-port

新增端口

#firewall-cmd --zone=public --add-port=3307/tcp -permanent
#firewall-cmd --zone=public --add-port=3306/tcp -permanent
#firewall-cmd --reload

设置远程访问权限

#docker exec it mysql-hj /bin/bash
#mysql -uroot -p
mysql> grant all privileges on *.* to root@'%' identified by "password";
mysql> flush privileges;

验证链接
接下来使用mysql数据库工具进行连接验证。

以上为docker环境中mysql的安装设置。

上一篇:09 spark连接mysql数据库


下一篇:Docker(1) —— 环境搭建