【MongoDB】主從複製(Master-Slave Replication)簡單實現
其結構類似MySQL的主從複製。
os:CentOS 6.5
mongodb:3.2.10
〇 搭建
master上:
- $ mkdir -p /data/testdb
- $ mongod --dbpath=/data/testdb/ --logpath=/data/testdb/master.log --fork --master
slave上:
-
$ mkdir -p /data/testdb
- $ mongod --dbpath=/data/testdb/ --logpath=/data/testdb/slave.log --fork --slave --source 192.168.0.1:27017
然後檢視一下slave的log
- $ tail -f /data/testdb/slave.log
如看到如下輸出,則表示已經開始同步
- 2016-11-09T16:19:46.695+0800 I REPL [replslave] syncing from host:192.168.0.1:27017
〇 測試
master上:
-
> use test;
-
switched to db test
-
> db.test_tb.insert({"master":"123456"})
-
WriteResult({ "nInserted" : 1 })
-
> db.test_tb.find();
- { "_id" : ObjectId("5822d3507fedcba43d3b9278"), "master" : "123456" }
slave上:
-
> use test;
-
switched to db test
-
> db.test_tb.find();
- Error: error: { "ok" : 0, "errmsg" : "not master and slaveOk=false", "code" : 13435 }
出現如上錯誤是因為預設slave是不可讀寫的:
可以執行
- > db.getMongo().setSlaveOk()
- > rs.slaveOk()
便可以了
-
> db.test_tb.find();
- { "_id" : ObjectId("5822d3507fedcba43d3b9278"), "master" : "123456" }
- WARNING
- Deprecated since version 3.2: MongoDB 3.2 deprecates the use of master-slave replication for components of sharded clusters.
- IMPORTANT
- Replica sets replace master-slave replication for most use cases. If possible, use replica sets rather than master-slave replication for all new production deployments. This documentation remains to support legacy deployments and for archival purposes only.
如果要用m-s結構做分片叢集,可以取而代之的是使用更加流弊的Replica Set,然而Replica Set可以理解為“Master-Slave”帶有自動failover等功能的高階解決方案。
〇 參考文件
-
3.2 > > Master Slave Replication
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29773961/viewspace-2128164/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【mongodb】mongodb 實現主從複製MongoDB
- Mysqldump實現mysql的master-slave主從複製MySqlAST
- mongoDB的主從複製簡單測試MongoDB
- Innobackupex實現mysql線上搭建master-slave主從複製MySqlAST
- 簡單實踐實現 MySQL 主從複製MySql
- Redis 主從複製(Replication)Redis
- MongoDB主從複製MongoDB
- mysql replication /mysql 主從複製原理MySql
- Redis replication主從複製原理及配置Redis
- 簡單搭建MySQL主從複製MySql
- MySQL 5.5.x 配置Master-Slave主從複製MySqlAST
- 簡單配置mysql的主從複製MySql
- redis 主從複製實現Redis
- mysql實現主從複製MySql
- Mysql Master-slave複製簡單配置記錄MySqlAST
- Mysql實現主從複製(一主雙從)MySql
- docker實現mysql主從複製DockerMySql
- 跟著大神學Mongo,Mongodb主從複製本機簡單操作總結MongoDB
- 從無到有實現主從複製
- MongoDB主從複製,副本集, ShardingMongoDB
- MySQL叢集之 主從複製 主主複製 一主多從 多主一叢 實現方式MySql
- MySQL(二):主從複製結構、半同步複製、雙主複製結構、利用SSL實現安全的MySQL主從複製MySql
- MongoDB日常運維-03主從複製搭建MongoDB運維
- mysql資料庫實現主從複製MySql資料庫
- MySQL-主從複製簡介MySql
- MySQL主從複製與主主複製MySql
- MySQL 5.6 建立GTID主從複製 (GTID-based Replication)MySql
- MySQL主從複製、半同步複製和主主複製MySql
- MySQL 主從複製實操MySql
- mysql5.7主從複製,主主複製MySql
- mysql資料庫的主從複製和主主複製實踐MySql資料庫
- MySQL主從複製、半同步複製和主主複製概述MySql
- 主從複製
- Redis在.net中的使用(3)簡單的主從複製Redis
- Mongodb主從複製/ 副本集/分片叢集介紹MongoDB
- MySQL的主從複製、半同步複製、主主複製詳解MySql
- 配置mysql5.5主從複製、半同步複製、主主複製MySql
- mysql複製--主從複製配置MySql