mongodb复制集集群部署、测试、选举原理

这篇具有很好参考价值的文章主要介绍了mongodb复制集集群部署、测试、选举原理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、基本概念

二、 mongodb安装部署

1、关闭防火墙和selinux

2、指定一个进程同一时间最多可开启的文件数

3、用户最多可开启的进程数目

4.安装版本下载地址,并优化命令

5、创建数据目录,日志文件及目录并创建相应配置文件

6、启动MongoDB数据库,-f指定配置文件

7、设置开机自动启动

8、连接数据库

三、mongodb复制群集群部署

1.配置4个mongodb

2.创建启动脚本

3.启动mongdb1.、2、3、4

4.进入mongo,创建一个包含三个成员节点的MongoDB复制集,每个节点都运行在本地主机上,并监听不同的端口号。这样可以提高数据的冗余性和可用性。

5.将当前的MongoDB实例初始化为一个复制集,并根据配置信息cfg来配置复制集的成员节点。在执行该命令后,当前的MongoDB实例将成为复制集的主节点,并开始接受和处理写操作。

6.获取复制集状态

四、测试

1.模拟故障机,杀掉27017端口

2.开启27017端口

3.手动切换主实例

4.模拟当mongodb1实例故障时,由于mongodb2实例不参与选举,因此mongodb3也就是27019将会成为新的主节点

五、复制集选举原理

1、复制的原理

2、选举的原理

3.重新定义集群,将27020节点设置为仲裁节点

4.将当前的MongoDB实例初始化为一个复制集,并根据配置信息cfg来配置复制集的成员节点。在执行该命令后,当前的MongoDB实例将成为复制集的主节点,并开始接受和处理写操作。

5.获取主节点信息

6.模拟mongodb1和mongodb2故障

7.启动mongodb1和mongodb2,依旧是27017为主服务器


一、基本概念

  1. 文档(document)是MongoDB中数据的基本单元,非常类似于关系型数据库系统中的行(记录)但是比行存储的数据要复杂的多。
  2. 集合(collection)就是一组文档组成,如果说MongoDB中的文档类似于关系型数据库中的行,那么集合就如同数据表。
  3. MongoDB的单个实例可以容纳多个独立的数据库,每一个数据库都有自己的集合和权限。

二、 mongodb安装部署

1、关闭防火墙和selinux
[root@localhost ~] iptables -F
[root@localhost ~] setenforce 0
[root@localhost ~] systemctl stop firewalld
2、指定一个进程同一时间最多可开启的文件数
[root@localhost ~] ulimit -n
1024
[root@localhost ~] ulimit -n 65535
[root@localhost ~] ulimit -n
65535
3、用户最多可开启的进程数目
[root@localhost ~] ulimit -u
7183
[root@localhost ~] ulimit -u 65535
[root@localhost ~] ulimit -u
65535
4.安装版本下载地址,并优化命令
[root@localhost ~] wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.6.tgz
[root@localhost ~] tar xf mongodb-linux-x86_64-rhel70-4.0.6.tgz 
[root@localhost ~] mv mongodb-linux-x86_64-rhel70-4.0.6 /usr/local/mongodb
[root@localhost ~] ln -s /usr/local/mongodb/bin/* /bin/
5、创建数据目录,日志文件及目录并创建相应配置文件
[root@localhost ~] mkdir -p /data/mongodb1  #数据目录
[root@localhost ~] mkdir -p /data/logs/mongodb   #日志目录
[root@localhost ~] touch /data/logs/mongodb/mongodb1.log   #日志文件
[root@localhost ~] cd /usr/local/mongodb/  
[root@localhost mongodb] mkdir conf    #配置文件目录
[root@localhost mongodb] vim conf/mongodb1.conf     #配置文件

port=27017   #监听端口
dbpath=/data/mongodb1    #指定数据目录
logpath=/data/logs/mongodb/mongodb1.log  #指定日志文件路径
logappend=true  #允许写入日志
fork=true  #允许创建子进程
maxConns=5000   #最大连接数
storageEngine=mmapv1  #存储引擎

6、启动MongoDB数据库,-f指定配置文件
[root@localhost mongodb]/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb1.conf 
about to fork child process, waiting until server is ready for connections.
forked process: 8710
child process started successfully, parent exiting
[root@localhost mongodb] netstat -lnpt |grep mongod
tcp        0      0 127.0.0.1:27017         0.0.0.0:*               LISTEN      8710/mongod         
[root@localhost mongodb] ps aux |grep mongod |grep -v grep
root       8710  1.5  5.1 1501404 96244 ?       Sl   18:22   0:00 /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb1.conf
7、设置开机自动启动
[root@localhost mongodb] vim /etc/rc.local
rm -f /data/mongodb1/mongod.lock
mongod -f /usr/local/mongodb/conf/mongodb1.conf
8、连接数据库
[root@localhost mongodb] mongo
> show dbs
admin   0.078GB
config  0.078GB
local   0.078GB
> exit
bye
[root@localhost mongodb]
  1. admin:从权限的角度来看,这是"root"数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。
  2. local:这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合。
  3. config:当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。

三、mongodb复制群集群部署

1.配置4个mongodb
[root@localhost mongodb] vim /usr/local/mongodb/conf/mongodb1.conf
port=27017   #监听端口
dbpath=/data/mongodb1    #指定数据目录
logpath=/data/logs/mongodb/mongodb1.log  #指定日志文件路径
logappend=true  #允许写入日志
fork=true  #允许创建子进程
maxConns=5000   #最大连接数
storageEngine=mmapv1  #存储引擎
slowms=1
profile=1
replSet=copygroup  #名字随意取
[root@localhost mongodb] cp /usr/local/mongodb/conf/mongodb1.conf /usr/local/mongodb/conf/mongodb2.conf
[root@localhost mongodb] vim /usr/local/mongodb/conf/mongodb2.conf 

port=27018   #监听端口
dbpath=/data/mongodb2    #指定数据目录
logpath=/data/logs/mongodb/mongodb2.log  #指定日志文件路径
logappend=true  #允许写入日志
fork=true  #允许创建子进程
maxConns=5000   #最大连接数
storageEngine=mmapv1  #存储引擎
slowms=1
profile=1
replSet=copygroup  #名字随意取

3.4同理

创建配置文件目录、日志文件目录、日志文件路径

[root@localhost mongodb] mkdir /data/mongodb{2..4} -p
[root@localhost mongodb] mkdir /data/logs/mongodb -p
[root@localhost mongodb] touch /data/logs/mongodb/mongodb{2..4}.log
[root@localhost mongodb] chmod 777 /data/logs/mongodb/mongodb*
[root@localhost mongodb] ll /data/logs/mongodb/mongodb*
-rwxrwxrwx. 1 root root 10147 7月   4 18:41 /data/logs/mongodb/mongodb1.log
-rwxrwxrwx. 1 root root     0 7月   4 18:43 /data/logs/mongodb/mongodb2.log
-rwxrwxrwx. 1 root root     0 7月   4 18:43 /data/logs/mongodb/mongodb3.log
-rwxrwxrwx. 1 root root     0 7月   4 18:43 /data/logs/mongodb/mongodb4.log
2.创建启动脚本
[root@localhost mongodb] vim /etc/init.d/mongodb
#!/bin/bash
INSTANCE=$1
ACTION=$2
case "$ACTION" in
'start')
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/"$INSTANCE".conf;;
'stop')
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/"$INSTANCE".conf --shutdown;;
'restart')
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/"$INSTANCE".conf --shutdown
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/"$INSTANCE".conf;;
esac
[root@localhost mongodb] chmod +x /etc/init.d/mongodb
3.启动mongdb1.、2、3、4

[root@localhost mongodb] /etc/init.d/mongodb mongodb1 stop
killing process with pid: 8710
[root@localhost mongodb] /etc/init.d/mongodb mongodb1 start
child process started successfully, parent exiting
[root@localhost mongodb] /etc/init.d/mongodb mongodb2 start
child process started successfully, parent exiting
[root@localhost mongodb] /etc/init.d/mongodb mongodb3 start
child process started successfully, parent exiting
[root@localhost mongodb] /etc/init.d/mongodb mongodb4 start
child process started successfully, parent exiting

[root@localhost mongodb] netstat -lnpt|grep mongod
tcp        0      0 127.0.0.1:27017         0.0.0.0:*               LISTEN      9160/mongod         
tcp        0      0 127.0.0.1:27018         0.0.0.0:*               LISTEN      9189/mongod         
tcp        0      0 127.0.0.1:27019         0.0.0.0:*               LISTEN      9218/mongod         
tcp        0      0 127.0.0.1:27020         0.0.0.0:*               LISTEN      9247/mongod         
4.进入mongo,创建一个包含三个成员节点的MongoDB复制集,每个节点都运行在本地主机上,并监听不同的端口号。这样可以提高数据的冗余性和可用性。
[root@mongodb ~] mongo 
crushlinux:PRIMARY> rs.help()	#查看复制集帮助指令
> cfg={"_id":"copygroup","members":[{"_id":0,"host":"127.0.0.1:27017"},{"_id":1,"host":"127.0.0.1:27018"},{"_id":2,"host":"127.0.0.1:27019"}]}
{
	"_id" : "copygroup",
	"members" : [
		{
			"_id" : 0,
			"host" : "127.0.0.1:27017"
		},
		{
			"_id" : 1,
			"host" : "127.0.0.1:27018"
		},
		{
			"_id" : 2,
			"host" : "127.0.0.1:27019"
		}
	]
}
5.将当前的MongoDB实例初始化为一个复制集,并根据配置信息cfg来配置复制集的成员节点。在执行该命令后,当前的MongoDB实例将成为复制集的主节点,并开始接受和处理写操作。
> rs.initiate(cfg)
{
	"ok" : 1,
	"operationTime" : Timestamp(1688469362, 1),
	"$clusterTime" : {
		"clusterTime" : Timestamp(1688469362, 1),
		"signature" : {
			"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
			"keyId" : NumberLong(0)
		}
	}
}
6.获取复制集状态
copygroup:PRIMARY> rs.status()
	"members" : [
		{
			"_id" : 0,
			"name" : "127.0.0.1:27017",
			"health" : 1,
			"state" : 1,
			"stateStr" : "PRIMARY",
			"uptime" : 1434,
			"optime" : {
				"ts" : Timestamp(1688469415, 1),
				"t" : NumberLong(1)
		
		{
			"_id" : 1,
			"name" : "127.0.0.1:27018",
			"health" : 1,
			"state" : 2,
			"stateStr" : "SECONDARY",
			"uptime" : 54,
			"optime" : {
				"ts" : Timestamp(1688469415, 1),
				"t" : NumberLong(1)
			},
			"optimeDurable" : {
				"ts" : Timestamp(1688469415, 1),
				"t" : NumberLong(1)
		
		{
			"_id" : 2,
			"name" : "127.0.0.1:27019",
			"health" : 1,
			"state" : 2,
			"stateStr" : "SECONDARY",
			"uptime" : 54,
			"optime" : {
				"ts" : Timestamp(1688469415, 1),
				"t" : NumberLong(1)
			},
			"optimeDurable" : {
				"ts" : Timestamp(1688469415, 1),
				"t" : NumberLong(1)
			},

health:1 表示状态健康   state:1 表示为主服务器   

health: 0 表示宕机         state:2 表示为从服务器

四、测试

1.模拟故障机,杀掉27017端口
[root@localhost mongodb] kill -9 9160  #杀掉27017
[root@localhost mongodb] mongo --port 27018
copygroup:PRIMARY> 
#发现27018 变成了PRIMARY(主服务器)
copygroup:PRIMARY> rs.status()


			"name" : "127.0.0.1:27017",
			"health" : 0,
			"state" : 8,
			

            "name" : "127.0.0.1:27018",
			"health" : 1,   
			"state" : 1,    #主服务器
2.开启27017端口
[root@localhost mongodb] /etc/init.d/mongodb mongodb1 start
about to fork child process, waiting until server is ready for connections.
forked process: 11306
child process started successfully, parent exiting
[root@localhost mongodb] mongodb --port 27018
copygroup:PRIMARY> rs.status()

			"name" : "127.0.0.1:27017",
			"health" : 1,
			"state" : 2,

			"name" : "127.0.0.1:27018",
			"health" : 1,
			"state" : 1,

#27017变成从服务器

3.手动切换主实例
[root@localhost mongodb] mongo --port 27018
copygroup:PRIMARY> rs.freeze(30)  #27018暂停30秒选举

copygroup:PRIMARY> rs.stepDown(60,30)  #修改成从节点
2023-07-04T19:37:04.203+0800 I NETWORK  [js] trying reconnect to 127.0.0.1:27018 failed
2023-07-04T19:37:04.204+0800 I NETWORK  [js] reconnect 127.0.0.1:27018 ok
copygroup:SECONDARY> rs.status()

			"name" : "127.0.0.1:27017",
			"health" : 1,
			"state" : 1,     #27017变成主服务器
			"stateStr" : "PRIMARY",

			"name" : "127.0.0.1:27018",
			"health" : 1,
			"state" : 2,
			"stateStr" : "SECONDARY",
4.模拟当mongodb1实例故障时,由于mongodb2实例不参与选举,因此mongodb3也就是27019将会成为新的主节点
[root@localhost mongodb] mongo --port 27017 

copygroup:SECONDARY> rs.freeze(120)  #不让27017选举

[root@localhost mongodb] ps aux |grep mongod
root       9189  0.5  5.2 4007480 98500 ?       Sl   18:53   0:20 /usr/local/mongodb/bin/mo
root       9218  0.5  3.5 3943816 65808 ?       Sl   18:53   0:20 /usr/local/mongodb/bin/mo
root       9247  0.5  3.5 1207568 65232 ?       Sl   18:53   0:20 /usr/local/mongodb/bin/mo
root      12276  0.7  5.0 3877244 94916 ?       Sl   19:49   0:00 /usr/local/mongodb/bin/mo
root      12374  0.0  0.0 112828   980 pts/0    R+   19:49   0:00 grep --color=auto mongod
[root@localhost mongodb] kill -9 9189   #杀掉27018
[root@localhost mongodb] mongo --port 27017
copygroup:SECONDARY> rs.status()



			"health" : 1,
			"state" : 2,
			"stateStr" : "SECONDARY",

			"name" : "127.0.0.1:27018",
			"health" : 0,
			"state" : 8,

			"name" : "127.0.0.1:27019",
			"health" : 1,
			"state" : 1,   #27019变成了主服务器
			"stateStr" : "PRIMARY",

五、复制集选举原理

1、复制的原理

MongoDB复制是基于操作日志oplog实现,oplog相当于mysql中的二进制日志,只记录数据发生的改变操作。

2、选举的原理

(1)节点类型:标准节点,被动节点,仲裁节点

  1. 只有标准节点可能被选举为活跃(主)节点,有选举权
  2. 被动节点有完整副本,不可能成为活跃节点,有选举权
  3. 仲裁节点不复制数据,不可能成为活跃节点,只有选举权

(2)标准节点与被动节点的区别

priority值高者是标准节点,低者则为被动节点

(3)选举规则

票数高者获胜,priority是优先权0-1000值,相当于额外增加0-1000的票数。

选举结果:票数高者获胜;若票数相同,数据新者获胜。

3.重新定义集群,将27020节点设置为仲裁节点
[root@localhost mongodb] /etc/init.d/mongodb mongodb1 stop
[root@localhost mongodb] /etc/init.d/mongodb mongodb2 stop
[root@localhost mongodb] /etc/init.d/mongodb mongodb3 stop
[root@localhost mongodb] /etc/init.d/mongodb mongodb4 stop
[root@localhost mongodb] /etc/init.d/mongodb mongodb1 start
[root@localhost mongodb] /etc/init.d/mongodb mongodb2 start
[root@localhost mongodb] /etc/init.d/mongodb mongodb3 start
[root@localhost mongodb] /etc/init.d/mongodb mongodb4 start
[root@localhost mongodb] mongo
copygroup:PRIMARY> cfg={"_id":"copygroup","protocolVersion":1,"members":[{"_id":0,"host":"127.0.0.1:27017","priority":100}, {"_id":1,"host":"127.0.0.1:27018","priority":100}, {"_id":2,"host":"127.0.0.1:27019","priority":0}, {"_id":3,"host":"127.0.0.1:27020","arbiterOnly":true}]}  #arbiterOnly代表为仲裁节点
{
	"_id" : "copygroup",
	"protocolVersion" : 1,
	"members" : [
		{
			"_id" : 0,
			"host" : "127.0.0.1:27017",
			"priority" : 100
		},
		{
			"_id" : 1,
			"host" : "127.0.0.1:27018",
			"priority" : 100
		},
		{
			"_id" : 2,
			"host" : "127.0.0.1:27019",
			"priority" : 0
		},
		{
			"_id" : 3,
			"host" : "127.0.0.1:27020",
			"arbiterOnly" : true
		}
	]
}

4.将当前的MongoDB实例初始化为一个复制集,并根据配置信息cfg来配置复制集的成员节点。在执行该命令后,当前的MongoDB实例将成为复制集的主节点,并开始接受和处理写操作。
copygroup:PRIMARY> rs.reconfig(cfg)
{
	"ok" : 1,
	"operationTime" : Timestamp(1688472419, 1),
	"$clusterTime" : {
		"clusterTime" : Timestamp(1688472419, 1),
		"signature" : {
			"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
			"keyId" : NumberLong(0)
		}
	}
}
copygroup:PRIMARY> rs.status()
			"name" : "127.0.0.1:27017",
			"health" : 1,
			"state" : 1,
			"stateStr" : "PRIMARY",

			"name" : "127.0.0.1:27018",
			"health" : 1,
			"state" : 2,
			"stateStr" : "SECONDARY",

			"name" : "127.0.0.1:27019",
			"health" : 1,
			"state" : 2,
			"stateStr" : "SECONDARY",

			"name" : "127.0.0.1:27020",
			"health" : 1,
			"state" : 7,
			"stateStr" : "ARBITER",  #仲裁节点
5.获取主节点信息
copygroup:PRIMARY> rs.isMaster()
{
	"hosts" : [         #标准节点
		"127.0.0.1:27017",
		"127.0.0.1:27018"
	],
	"passives" : [      #被动节点
		"127.0.0.1:27019"
	],
	"arbiters" : [      #仲裁节点
		"127.0.0.1:27020"
	],
6.模拟mongodb1和mongodb2故障
[root@localhost mongodb] /etc/init.d/mongodb mongodb1 stop
killing process with pid: 13105
[root@localhost mongodb] /etc/init.d/mongodb mongodb2 stop
killing process with pid: 13163
[root@localhost mongodb] mongo --port 27019
copygroup:SECONDARY> rs.status()
			"name" : "127.0.0.1:27017",
			"health" : 0,
			"state" : 8,    #故障
			"stateStr" : "(not reachable/healthy)",

			"name" : "127.0.0.1:27018",
			"health" : 0,
			"state" : 8,    #故障
			"stateStr" : "(not reachable/healthy)",

			"name" : "127.0.0.1:27019",
			"health" : 1,
			"state" : 2,    #从服务器
			"stateStr" : "SECONDARY",   #被动节点不能成为活跃节点

			"name" : "127.0.0.1:27020",
			"health" : 1,
			"state" : 7,   #不参与选举
			"stateStr" : "ARBITER",

3.4都不会去切换为主服务器,因为不参加选举文章来源地址https://www.toymoban.com/news/detail-528613.html

7.启动mongodb1和mongodb2,依旧是27017为主服务器

到了这里,关于mongodb复制集集群部署、测试、选举原理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Zookeeper快速入门(Zookeeper概述、安装、集群安装、选举机制、命令行操作、节点类型、监听器原理)

    1.1 概述 Zookeeper是一个开源的分布式的,为分布式框架提供协调服务的Apache项目。 1、Zookeeper工作机制 Zookeeper从设置模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责储存和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生

    2024年03月28日
    浏览(58)
  • 52.MongoDB复制(副本)集实战及其原理分析

    高可用 在生产环境中,不建议使用单机版的MongoDB服务器。 Mongodb复制集(Replication Set)由一组Mongod实例(进程)组成,包含一个Primary节点和多个Secondary节点,Mongodb Driver(客户端)的所有数据都写入Primary,Secondary从Primary同步写入的数据,以保持复制集内所有成员存储相同的

    2024年02月06日
    浏览(39)
  • mongodb集群工作原理学习

    MongoDB集群有好几种方式:,主从模式,副本集模式和分片的模式 其中主从模式基本不再使用,大多是后面两种 副本集模式主要是用于实现服务的高可用性,类型Redis的哨兵模式. 它主要是的特点: 创建集群后会有主节点(primary)和从节点(secondary). 但从节点可以进行相应设置具有不同的

    2024年02月13日
    浏览(41)
  • 【MongoDB】五、MongoDB分片集群的部署

           能够通过部署MongoDB分片集群熟悉MongoDB分片集群架构和基本操作,从而解决大数据项目中数据量爆发式增长的需求 (1)根据上表中分片集群端口号的分配情况部署分片集群(XXX是姓名拼音首字母)。 (2)启动分片功能。 (3)模拟写入数据,对数据库和和集合进行

    2024年02月10日
    浏览(47)
  • mongodb 分片集群部署

    config 初始化,任意一台执行 shard1 安装 3台服务器分别添加配置文件 shard1 初始化 连接任意一台非“arbiterOnly: true”节点shard1,192.168.221.173、192.168.221.174、192.168.221.175分别替换为3台机器的IP地址(建议节点1执行) shard2 安装 3台服务器分别添加配置文件 shard2初始化, 连接任意一

    2024年02月10日
    浏览(35)
  • 数据库应用:Redis主从复制、哨兵、cluster集群

    目录 一、理论 1.Redis高可用 2.Redis主从复制 3.部署Redis主从复制 4.Redis哨兵模式 5.部署Redis哨兵模式 6.Redis集群模式 7.部署Redis集群 二、实验 1.部署Redis主从复制 2.部署Redis哨兵模式 3.部署Redis集群 三、问题 1.开启Redis群集失败 四、总结 (1)概念 在web服务器中,高可用是指服务

    2024年02月15日
    浏览(44)
  • MongoDB K8s集群部署

    1. 准备资源 1.1 NFS准备 这里已经安装了NFS,并且可以处理NFS所有的操作,在这里不会说明NFS中的任何信息,只是使用。如果需要知道NFS如何配置,可查看其他的文章,里面有详细的说明。 1.2 镜像 使用MongoDB在docker.io中,现在比较新的镜像mongo:4.4.9. 如果在内部使用,不想因网

    2024年02月13日
    浏览(33)
  • 使用 Docker 部署高可用 MongoDB 分片集群

    mongodb 集群搭建的方式有三种: 主从备份(Master - Slave)模式,或者叫主从复制模式。 副本集(Replica Set)模式。 分片(Sharding)模式。 其中,第一种方式基本没什么意义,官方也不推荐这种方式搭建。另外两种分别就是副本集和分片的方式。今天介绍副本集的方式搭建 mo

    2024年02月06日
    浏览(47)
  • Docker集群部署-MySQL主从复制

    利用Docker实现MySQL主从复制架构的部署,实现1主1从集群配置。 要求实验主机能够连接外网,已经正确安装Docker,并关闭防火墙和selinux。 新建主服务器容器实例3307 # docker run -p 3307:3306 --name mysql-master -v /mydata/mysql-master/log:/var/log/mysql -v /mydata/mysql-master/data:/var/lib/mysql -v /m

    2024年02月12日
    浏览(38)
  • Docker 部署 MongoDB 数据库

    https://www.mongodb.com/zh-cn 缩主机上创建 mongo/configdb/mongod.conf https://hub.docker.com/_/mongo 指定服务执行器与缓存大小 https://hub.docker.com/_/mongo-express 查看默认登录账号密码 注意: 默认登录账号密码是 admin/pass ,docker配置中已经将登录账号密码设置为 admin/123456 http://localhost:8081/ http:/

    2024年04月27日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包