docker 安装部署多个MySQL的实现步骤

 更新时间:2022年01月27日 10:06:21   作者:Xy-Huang  
本文主要介绍了docker 安装部署多个MySQL的实现步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

环境配置

本地操作系统:Win10
虚拟机的操作系统:CentOS Stream 8
已安装docker,可以参考详细安装教程

安装MySQL

如果docker安装成功,我们可以直接使用指令启动一个docker运行MySQL服务,指令如下:

docker run -p 3306:3306 --name mysql8.0 -e MYSQL_ROOT_PASSWORD=1234 -d mysql

指令参数说明:

  • run:启动docker。
  • -p 3306:3306:设置操作系统与docker的端口对接,第一个3306是操作系统的端口,用于对完使用;第二个是docker运行MySQL的服务端口3306。
  • –name mysql8.0:是启动这个docker的容器名字,可以自行命名。
  • -e MYSQL_ROOT_PASSWORD=1234是设置docker的MySQL的root用户密码。
  • -d mysql:是镜像名称,如果没有规定MySQL版本,使用mysql默认安装最新版本,如果规定mysql版本,可以加上版本信息,如-d mysql5.7。

如果直接启动docker,而本地还没下载MySQL镜像,docker会默认自动下载MySQL镜像。指令执行完成后,分别输入指令查看当前docker和镜像信息:

docker ps -a
docker images

在这里插入图片描述

修改MySQL加密方式

由于最新版MySQL的加密方式改变了,如果使用Navicat Premium 15等工具连接可能无法连接成功,我们需要对docker里面的MySQL进行修改。
输入docker exec -it mysql8.0 bash进入当前docker,其中mysql8.0是这个docker的容器名字,如图所示:

在这里插入图片描述

此时,我们已经进入docker内部,然后分别输入MySQL指令修改用户密码的加密方式,指令如下:

mysql -uroot -p1234
use mysql;
alter user 'root'@'%' identified with mysql_native_password by '1234';
select host,user,plugin,authentication_string from mysql.user;

指令执行结果如图所示:

在这里插入图片描述

最后分别输入两次exit退出MySQL和docker。

在Win10的Navicat Premium 15连接虚拟机的CentOS的docker的MySQL,连接端口3306是启动run指令的参数 - -p 3306:3306的第一个端口,如图所示。

在这里插入图片描述

安装第二个MySQL

如果要在同一个操作系统运行多个docker的MySQL,只需在run指令设置参数 - -p 的对完端口即可,比如启动第二个MySQL服务,可执行下面指令:

docker run -p 3307:3306 --name mysql8.1 -e MYSQL_ROOT_PASSWORD=1234 -d mysql

上述指令参数说明

  • -p第一个参数是3307,代表centos8的3307端口,因为3306端口已被第一个docker占用了;第二个参数3306是docker里面MySQL的运行端口,由于每个docker都是独立运行的,因此两个docker都能使用3306。
  • 参数–name必须与第一个docker的命名不能相同,否则会有冲突。

启动docker之后,剩下的操作就是修改MySQL的用户密码加密方式,这个操作在上述已有讲述。

到此这篇关于docker 安装部署多个MySQL的实现步骤的文章就介绍到这了,更多相关docker安装部署多MySQL内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • docker安装使用xdebug的过程

    docker安装使用xdebug的过程

    这篇文章主要介绍了docker安装使用xdebug的过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • 详解docker容器的层的概念

    详解docker容器的层的概念

    这篇文章主要介绍了详解docker容器的层的概念,帮助大家更好的理解和学习使用docker容器,感兴趣的朋友可以了解下
    2021-04-04
  • 使用Conda环境创建Docker镜像的完整步骤指南

    使用Conda环境创建Docker镜像的完整步骤指南

    Docker是实现容器化的主流工具之一,而Conda作为科学计算和Python的包管理器,与Docker的结合能为开发者提供高度灵活、易于管理的开发环境,这篇文章主要介绍了使用Conda环境创建Docker镜像的完整步骤,需要的朋友可以参考下
    2025-03-03
  • Spring Boot 2.4 新特性之一键构建Docker镜像的过程详解

    Spring Boot 2.4 新特性之一键构建Docker镜像的过程详解

    这篇文章主要介绍了Spring Boot 2.4 新特性之一键构建Docker镜像的过程详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • Docker如何导出某时间段日志

    Docker如何导出某时间段日志

    这篇文章主要介绍了Docker如何导出某时间段日志问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-07-07
  • docker搭建es集群实现过程详解

    docker搭建es集群实现过程详解

    这篇文章主要为大家介绍了docker搭建es集群实现过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • Docker数据存储之tmpfs mounts详解

    Docker数据存储之tmpfs mounts详解

    今天小编就为大家分享一篇关于Docker数据存储之tmpfs mounts详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • Docker Compose常用命令详解

    Docker Compose常用命令详解

    本篇文章主要介绍了Docker Compose常用命令详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-12-12
  • 详解Docker commit的使用

    详解Docker commit的使用

    这篇文章主要介绍了Docker commit使用的相关资料,帮助大家更好的理解和使用docker容器,感兴趣的朋友可以了解下
    2020-09-09
  • docker覆盖镜像默认命令之docker entrypoint详解

    docker覆盖镜像默认命令之docker entrypoint详解

    entrypoint命令就是覆盖ENTRYPOINT命令的,本文给大家介绍了docker覆盖镜像默认命令之docker entrypoint的相关知识,需要的朋友可以参考下
    2023-10-10

最新评论