美文网首页
mongoDB实现主从复制

mongoDB实现主从复制

作者: AubreyXue | 来源:发表于2017-12-16 16:19 被阅读19次

    主从复制是MongoDB最常用的复制方式。这种方式非常灵活,可用于备份、故障恢复、读扩展等。

    最基本的设置方式就是建立一个主节点和一个或者多个从节点,每个从节点要知道主节点的地址。运行mongod --master就启动了主服务器。运行mongod --slave --source master_address 则启动了从服务器,其中master_address就是上面主节点的地址。


    image.png

    1.创建master主节点

    创建一个端口号为8888的主节点

    mongod --dbpath /Users/mrotaku/Desktop/master --port 8888 --master
    

    2.创建slave从节点

    创建一个端口号为9999的从节点

    mongod --dbpath /Users/mrotaku/Desktop/slave --port 9999 --slave --source localhost:8888
    

    注:--source 指明主节点的地址,实际应用中将地址和端口号替换成实际服务器ip和地址即可

    3.创建测试

    1.创建连接主节点的客户端
    mongo localhost:8888
    

    添加一条数据

    db.col_1.insert({name:'zhangsan',age:18});
    
    2.创建连接从节点的客户端
    mongo localhost:9999
    

    此时查看col_1的集合个数,发现多了一条数据

    db.col_1.find({}).count();
    

    到这里主从复制已经搭建完成,但是还存在一个问题,我们发现如果主节点挂掉之后,我们在从服务器进行插入语句是报错的:

    WriteResult({ "writeError" : { "code" : 10107, "errmsg" : "not master" } })
    这显然是不符合我们的实际生产环境的,因此这时候就要用到我们的副本集

    相关文章

      网友评论

          本文标题:mongoDB实现主从复制

          本文链接:https://www.haomeiwen.com/subject/rdwswxtx.html