CentOS 7 使用docker安装mysql5.7和mysql8.0

  • 环境配置
  • 操作系统 CentOS Linux release 7.9.2009 x64
  • 当前没有安装mysql
  • 开始操作之前,请先了解一下docker,理解镜像和容器的区别嗷~
  • 首先安装docker
  • 使用官方安装脚本,从阿里云安装
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

docker多个mysql服务器 docker安装多个mysql_docker多个mysql服务器

  • 安装完成后查看版本
docker -v
# Docker version 20.10.5, build 55c4c88

docker多个mysql服务器 docker安装多个mysql_docker多个mysql服务器_02

  • 修改docker镜像源
vi /etc/docker/daemon.json
# 加上如下内容,如果下载速度还是不快可以换阿里云docker加速源
{
    "registry-mirrors" : [
    "https://docker.mirrors.ustc.edu.cn",
    "http://hub-mirror.c.163.com"
  ]
}

docker多个mysql服务器 docker安装多个mysql_docker_03

  • 启动docker服务
systemctl start docker
  • 检查镜像源是否配置成功
docker info

输入docker info后找到最下面,看看上面的两个镜像是不是你配置的那两个?

docker多个mysql服务器 docker安装多个mysql_linux_04

  • docker拉取 mysql 5.7.33 和 mysql 8.0.23
docker pull mysql:5.7.33
# 这里可能需要一点时间,看网络情况,我只用了一分钟不到

docker多个mysql服务器 docker安装多个mysql_linux_05

docker pull mysql:8.0.23
# mysql:后面接版本号指定版本,简简单单~

docker多个mysql服务器 docker安装多个mysql_docker多个mysql服务器_06

  • 查看已经拉取的镜像
docker images

docker多个mysql服务器 docker安装多个mysql_linux_07

  • docker启动mysql(镜像)
# 运行命令可以这样写
# docker run mysql:版本
# docker run 上图的IMAGE ID

# 一些运行参数说明:
	# -d 后台运行
	# --name 给运行的容器起个名字
	# -p 映射宿主机(你当前操作的linux)端口和容器(docker)端口
	# -e 设置环境变量,下面会使用这个设置数据库密码
	
# 好了我要启动了
docker run --name mysql_01 -d -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql:5.7.33
# 运行完成之后查看docker容器
docker ps -a

docker多个mysql服务器 docker安装多个mysql_mysql_08

  • 使用mysql 5.7.33
  • 注意:我的mysql 5.7.33 安装在docker容器中,在我的linux中没有安装mysql,所以我没有客户端用来连接mysql服务,目前要使用的话有两种办法:
# 1.进入容器的命令交互行操作 ps:8480是上图中CONTAINER ID(容器ID)前四位
docker exec -it 8480 bash
# 进入容器的命令交互行后和正常使用linux一样
mysql -u root -p
# 搞定,但是使用完记得使用exit退出到你的linux的命令交互行

docker多个mysql服务器 docker安装多个mysql_linux_09

  1. 使用第三方工具比如navicat等进行连接,我这里用的是开源的heidisql
    ps:大哥,这回是远程连接,一点要记得关防火墙,或者3306加入白名单
    以下:
    ip是你当前linux的ip,端口是上面运行容器时映射的 3306
    账号是root,密码是运行容器时设置的环境变量MYSQL_ROOT_PASSWORD的值123456

docker多个mysql服务器 docker安装多个mysql_mysql_10

  • 停止mysql运行和再次使用
# 还记得查看docker容器的指令吗?
docker ps -a # 记住你要操作的容器的CONTAINER ID

# 停止容器
docker stop 8480

# 下次启动容器(记得要先systemctl start docker启动docker)
docker start 8480

docker多个mysql服务器 docker安装多个mysql_mysql_11

  • mysql8 的使用步骤同5.7,这里就不多介绍了,自己去尝试一下吧!
  • The end.