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 -v
# Docker version 20.10.5, build 55c4c88
- 修改docker镜像源
vi /etc/docker/daemon.json
# 加上如下内容,如果下载速度还是不快可以换阿里云docker加速源
{
"registry-mirrors" : [
"https://docker.mirrors.ustc.edu.cn",
"http://hub-mirror.c.163.com"
]
}
- 启动docker服务
systemctl start docker
- 检查镜像源是否配置成功
docker info
输入docker info后找到最下面,看看上面的两个镜像是不是你配置的那两个?
- docker拉取 mysql 5.7.33 和 mysql 8.0.23
docker pull mysql:5.7.33
# 这里可能需要一点时间,看网络情况,我只用了一分钟不到
docker pull mysql:8.0.23
# mysql:后面接版本号指定版本,简简单单~
- 查看已经拉取的镜像
docker images
- 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
- 使用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的命令交互行
- 使用第三方工具比如navicat等进行连接,我这里用的是开源的heidisql
ps:大哥,这回是远程连接,一点要记得关防火墙,或者3306加入白名单
以下:
ip是你当前linux的ip,端口是上面运行容器时映射的 3306
账号是root,密码是运行容器时设置的环境变量MYSQL_ROOT_PASSWORD的值123456
- 停止mysql运行和再次使用
# 还记得查看docker容器的指令吗?
docker ps -a # 记住你要操作的容器的CONTAINER ID
# 停止容器
docker stop 8480
# 下次启动容器(记得要先systemctl start docker启动docker)
docker start 8480
- mysql8 的使用步骤同5.7,这里就不多介绍了,自己去尝试一下吧!
- The end.