docker建多个mysql_《容器化系列二》利用Docker容器化技术安装多个mysql

前提说明

安装的Linux系统版本为Centos7.x

一、安装docker并测试

1、安装yum相关工具包

///安装yum相关工具包

yum install -y yum-utils device-mapper-persistent-data lvm2

3a3492684a6df6d0126a2a41921b1ead.png

//发些报错,关闭刚刚睡眠中的进程

kill -9 13312

//再次执行

yum install -y yum-utils device-mapper-persistent-data lvm2

1653c535391bb725c8591e4a12f37b54.png

2、添加docker的下载源

建议用下面的阿里源

//添加阿里的安装源

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

915f629c7fc4744aef07aec471c620db.png

//进入yum的仓库配置目录进行查看

[root@Linux-docker1 ~]# cd /etc/yum.repos.d/[root@Linux-docker1 yum.repos.d]# ls

94ac03aed1592dafa086f936dbe3d56d.png

//元数据缓存的建立

yum makecache fast

dbfb22b7f1467fac5de0f739f908830b.png

3、安装docker

//注:安装的是docker社区版本

yum -y install docker-ce

2792286fb72fe6db3f4c1b46b8bc1085.png

//安装完我们验证一下

[root@Linux-docker1 yum.repos.d]# rpm -qa |grep docker

d7be40fd1279b7a951c7c0710680fcc1.png

4、更改镜像源为国内阿里云节点,并指定docker数据存储目录

mkdir -p /data/docker

mkdir-p /etc/docker

vim/etc/docker/daemon.json//注:docker安装好后默认没有此文件,需要手动创建,添加阿里云镜像节点,并指定docker存储目录//按i键进入编辑,按Esc键退出编辑模式,按:wq进行保存

{"registry-mirrors": ["https://ehdjgsyp.mirror.aliyuncs.com"],"graph": "/data/docker"}

5、启动docker,并加入开机启动

//启动docker

systemctl start docker//加入开机自启

systemctl enable docker

63c099cae5397a747d95619f424ec135.png

6、测试验证docker是否启动

//从仓库下载hello-world镜像

docker pull hello-world

4d9c6cc18963a47063c7527a8bd62e55.png

//查看本地镜像

[root@Linux-docker1 yum.repos.d]# docker images

8a1b0c4578b859eb24ba199d956e4632.png

//启动镜像

[root@Linux-docker1 yum.repos.d]# docker run hello-world

2a5ac5e48733fc9862444f3d11b2465d.png

二、下载镜像并启动mysql容器

1、下载mysql镜像

//下载mysql镜像

docker pull mysql

--如果下载失败,请多试几次,如果实在没速度,就需要去看上面添加的阿里镜像源是否有填写正确

2、启动mysql容器

//启动mysql容器

docker run --name docker-mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3333:3306 -d mysql

##参数说明

-name容器的别称。

-p端口映射。格式是主机的端口:容器的端口。

-e设置容器的环境变量。-e MYSQL_ROOT_PASSWORD= 123456就代表mysq的root的密码是123456

-d使用镜像包名称,可以通过docker images查看

3、验证查看容器状态

--查看容器状态

docker ps -a

d200c476722ac53b6bd817856c5960b8.png

4、直接进mysql的容器中的bash

//docker exec -it 容器名 /bin/bash

docker exec-it docker-mysql /bin/bash

//进去以后

mysql -uroot -p

//密码是刚刚设置的123456

5、用本地的Navicate进行连接

①确认环境

首先安装docker的那台Linux宿主机的ip为 192.168.59.132

对应的mysql端口为3333

msyql账号root

mysql密码123456

bcaa8ebf7c51d02c947b3049bc369ed2.png

②发现报错

8d3085c0df8f62b2d5d850d617e6bc21.png

2059-Authentication plugin 'caching.sha2_password' cannot be loaded:..@..gv頗

③解决问题

需要利用上面第4步在docker的mysql容器中执行这条sql语句

alter user 'root'@'%' identified with mysql_native_password by '123456';

上面123456需要改成你自己mysql设置的密码

9a9f836d7b12249450ce57c23f6e5fa6.png

测试连接成功

cbcf74e6358ea74bf6375ebe6e7fdd55.png

到此,我们的一个数据库安装成功

三、安装第2个mysql数据库

1、启动mysql容器,更改端口和容器名称即可

//启动mysql容器,更改端口3333改成3334,防止端口冲突,还需要更改容器名称把之前的docker-mysql随便改成不同的即可,这里改成了docker-mysql-2

docker run --name docker-mysql-2 -e MYSQL_ROOT_PASSWORD=123456 -p 3334:3306 -d mysql

这样新的mysql容器又起来了

2、用Navicate进行连接

首先安装docker的那台Linux宿主机的ip为 192.168.59.132

对应的mysql端口为3334(上面那个是3333)

msyql账号root

mysql密码123456

后续步骤应该不用多说了吧

ffbe4a26430e750d7fc8055af03b5cbd.png

3bbbb4154d7a6a7193161d61ed08c3fc.png

3、以此类推可以安装其他的mysql,只需要映射的端口号和容器名不同即可

四、其他说明

1、doker关闭容器

//docker stop +容器名或者+容器的id

docker stop $CONTAINER_ID

2、容器的id在哪找

//直接docker ps -a 一下

docker ps -a

3、手动关闭后的容器怎么启动

//直接start一下即可+容器名或者+容器id

docker start docker-mysql

4、怎样关闭docker的服务

//直接用系统服务进行关闭,关闭以后,里面的容器也会相应关闭!所以请先关停里面的容器,再关闭docker服务!

systemctl stop docker

5、启动docker的服务

//直接利用系统服务去启动

systemctl start docker

2020.07.23

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/508309.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql 元数据获取_[MySQL] 获取元数据的步骤

[MySQL] 获取元数据的方法 MySQL提供了以下三种方法用于获取数据库对象的元数据: 1)show语句 2)从INFORMATION_SCHEMA数据库里查询相关表 3)命令行程序,如mysqlshow, mysqldump 用SHOW语句获取元数据 MySQL用show语句获取元数据是最常用的方法&#xff0…

在模糊查询中怎样事先加载页面_8种信息类型,中后台产品功能自查清单

产品经理在梳理产品需求文档时需要把每一个功能的逻辑关系、交互方式都整理全面,为了避免疏漏,与开发评审前,建议每位产品都 Check 几遍文档。本文整理了一份中后台产品功能自查清单,供大家参考,如有不全欢迎提建议~中…

mysql 8.0 手动安装教程_mysql 8.0.13手动安装教程

本文为大家分享了mysql 8.0.13手动安装教程,供大家参考,具体内容如下一、步骤解读1.下载MySQL下载地址选择 Downloads-->Community-->MySQL Community Server,然后拉到页面的最低端,点击“下载”。此时一般会提示登陆&#…

gff3转mysql_科学网-把GFF3文件导入MySQL数据库-闫双勇的博文

什么是GFF3?这个一种序列注释文件的格式,基因组注释数据常常会用这种格式来记录序列注释信息,关于这种格式的更多信息,可以在这里学习:http://www.sequenceontology.org/gff3.shtml这里简单说下,怎样把GFF3文件导入My…

mysql时间字段不走索引_MySQL使用=或=范围查询时不走索引

2020-02-27最近一个日志页面查询很慢,然后去跟踪了查询sql,发现日期字段上即使建了索引,查询还是很慢,执行语句还是使用了全表扫描,于是继续分析下去。查询语句类似:select * from logs where createtime > 2020-01…

指数函数中x的取值范围_指数函数x的取值范围是

1、指数函数x的取值范围是a>0且a不1;2、指数函数是重要的基本初等函数之一。一般地,yax函数(a为常数且以a>0,a≠1)叫做指数函数,函数的定义域是 R ;3、,在指数函数的定义表达式中,在ax前的…

java excutorthread_JAVA 线程池ThreadPoolExcutor原理探究

概论线程池(英语:thread pool):一种线程使用模式。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价。线程…

websocket连接mysql_websocket 使用 spring 的service层 ,进而调用里面的 dao层 来操作数据库 ,包括redis、mysql等通用...

1.前言描述一下今天用websocket踩得坑 ---》空指针异常!我想在websocket里面使用service 层的接口,从中获取数据库的一些信息 ,使用 Autowired 注解 接口 ,报错 空指针异常 !!!查过资料才发…

世上最简单的mysql_最简单易懂的mysql安装教程

今天安装MySQL花了蛮长时间的,感觉坑还是挺多的,写遍文章总结一下。一、安装1.解压zip包到安装目录先从MySQL官网 下载mysql最新的免安装版压缩包解压之后变成这个样子:里面的文件是这个样子下面开始了,请注意2.配置文件在安装目录…

aix系统升级失败提示java_AIX系统补丁升级失败处理

问题描述:现网一台IBM P550小型机,初始版本通过oslevel –r命令检查为5300-02,在IBM官方网站下载5300-06补丁并升级到5300-06后系统报错,缺少sysmgt.websm.apps 5.3.0.60,sysmgt.websm.rte 5.3.0.60两个文件问题处理&a…

java arraylist char,Java基础学习笔记六 Java基础语法之类和ArrayList详解

引用数据类型引用数据类型分类,提到引用数据类型(类),其实我们对它并不陌生,如使用过的Scanner类、Random类。我们可以把类的类型为两种:第一种,Java为我们提供好的类,如Scanner类,Random类等&a…

matlab 数值解 期权顶级啊,潮盈期权院高胜率交易技巧系列之二----期权交易策略及基于MATLAB统计套利介绍...

主题:高胜率交易技巧系列之二----期权交易策略及基于MATLAB统计套利介绍会场流程:13:30--14:00:参会嘉宾到场签名14:00--14:45:期权知识14:45--15:25:期权交易策略使用15:25--15:35:茶歇15:35--16:35&#…

php的用例图箭头怎么画,需求中如何画用例图 - china008的个人空间 - OSCHINA - 中文开源技术交流社区...

UML用例图用例图主要用来图示化系统的主事件流程,它主要用来描述客户的需求,即用户希望系统具备的完成一定功能的动作,通俗地理解用例就是软件的功能模块,所以是 设计系统分析阶段的起点,设计人员根据客户的需求来创建…

oracle学习数据,Oracle从入门到精通的学习笔记

本次知识点:1.认识SQL的介绍2.掌握scott用户的数据结构3.查询语句之简单查询1.SQL:SQL是指结构化查询语言,在80年代的时候,基本存在80多种数据库,每一种数据库都有自己的的操作命令,也就导致了程序员从一个数据库到另一个数据库的转化时变的极为麻烦,基本就要从新学习.在70年代…

强行更改linux服务器时间,加强Linux服务器安全的20项建议

一般情况下用 Linux 做桌面在默认配置下是很安全的,我在一定程度上同意这个说法(很值得商榷的话题)。不过 Linux 内置的安全模型和工具做得确实很到位,用户只需进行简单的调整和自定义就可以加强 Linux 服务器安全。与恶意用户做斗争对于所有 Linux 系统…

linux终端提示符含义,Linux:终端提示符 (prompt) 不如期生效原因

前言先来简单介绍下, prompt是什么鬼? 顾名思义就是提示符的意思, 看起来和我们遥远, 但实际上只要是每个接触shell的童鞋, 都有看到, 那就是我们在输命令时前面的那串提示符.例如:当然, 这个样式是可以修改的, 这就涉及到我们的PS1和PS2了, 有经验或者以前有设置过的童鞋估计…

skyeye linux qt,ARM仿真器SkyEye的安装及使用

SkyEye是一个开源软件(OpenSource Software)项目,中文名字是"天目"。SkyEye的目标是在通用的Linux和Windows平台上实现一个纯软件集成开发环境,模拟常见的嵌入式系统,可在SkyEye上运行μCLinux以及μC/OS-II等,以及各种…

2g 双核电脑 linux,9208)(奔腾双核E5200/2G/320G)电脑详细技术

处理器型:intel 酷睿2双核 p7350 intel 酷睿2双核 p7450 intel 酷睿2双核 t6600 intel 奔腾双核t4300 intel 奔腾双核 t4400 intel 赛扬双核 t1600 intel 赛扬双核 t3000操作系统:windowsvista home basic dos标配内存:1gb 2gb 硬盘容量&…

linux apache 大文件,Apache下error.log文件太大的处理方法

Apache下error.log文件太大的处理方法2019年05月03日| 萬仟网网络运营| 我要评论清除error.log、access.log并限制apache日志文件大小的方法 有个客户反映vps网站打不开,登录系统检查下,客户是win2003系统,发现放置网站文件的清除error.log、…

c语言程序设计实践课选题,c语言程序设计实践实验题目

c语言程序设计实践实验题目 绥化学院程序设计实践实验报告范例 参考1实验题目:循环结构程序设计实验目的:1.熟悉 VC6.0 的运行环境,掌握 C 程序的执行方法;2.掌握三种基本数据类型、部分运算符号和常用函数;3.掌握三种…