这篇文章主要介绍了详解mongoDB主从复制搭建详细过程的相关资料,这里对实现主从复制进行了详细的步骤介绍,需要的朋友可以参考下。
主:192.168.2.71 从:192.168.2.72
前往mongodb官网下载页面:https://www.mongodb.org/downloads下载相应的版本,比如目前的Linux x64位最新版:mongodb-linux-x86_64-2.6.4.tgz
不过有点坑爹是,下载链接明明是tgz格式,结果下载后变成了gz格式:
先下载看看好了。
[root@tiejiangSRC1 ~]# cd /usr/local/src/ [root@tiejiangSRC1 src]# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.2.9.tgz [root@tiejiangSRC1 src]# gzip -d mongodb-linux-x86_64-rhel62-3.2.9.tgz [root@tiejiangSRC1 src]# tar xvf mongodb-linux-x86_64-rhel62-3.2.9.tar [root@tiejiangSRC1 src]# mv mongodb-linux-x86_64-rhel62-3.2.9 /usr/local/mongodb 将解压后的文件夹移动重命名至/usr/local/mongodb [root@tiejiangSRC1 src]# cd /usr/local/mongodb/bin/
[root@tiejiangSRC2 ~]# cd /usr/local/src/ [root@tiejiangSRC2 src]# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.2.9.tgz [root@tiejiangSRC2 src]# gzip -d mongodb-linux-x86_64-rhel62-3.2.9.tgz [root@tiejiangSRC2 src]# tar xvf mongodb-linux-x86_64-rhel62-3.2.9.tar [root@tiejiangSRC2 src]# mv mongodb-linux-x86_64-rhel62-3.2.9 /usr/local/mongodb 将解压后的文件夹移动&重命名至/usr/local/mongodb [root@tiejiangSRC2 src]# cd /usr/local/mongodb/bin/
mongod:数据库服务端,类似mysqld,每个实例启动一个进程,可以fork为Daemon运行 mongo:客户端命令行工具,类似sqlplus/mysql,其实也是一个js解释器,支持js语法 mongodump/mongorestore:将数据导入为bson格式的文件/将bson文件恢复为数据库,类似xtracbackup mongoexport/mongoimport:将collection导出为json/csv格式数据/将数据导入数据库,类似- - - mysqldump/mysqlimport bsondump:将bson格式的文件转储为json格式的数据 mongos:分片路由,如果使用了sharding功能,则应用程序连接的是mongos而不是mongod mongofiles:GridFS管理工具 mongostat:实时监控工具
创建两个文件夹 存数据和日志 [root@tiejiangSRC1 ~]# mkdir -p /home/tiejiang/mongodb/mongo /home/tiejiang/mongodb/mlog/ [root@tiejiangSRC1 ~]# cd /usr/local/mongodb/bin/ [root@tiejiangSRC1 bin]# vim mongodb_master.conf #指定端口 port=27017 #后台运行 fork=true #规定数据库的位置 dbpath=/home/tiejiang/mongodb/mongo #规定数据库的日志文件 logpath=/home/tiejiang/mongodb/mlog/mongodb.log #标志这个机器是MongoDB的主 master=true #允许的地址 为了安全,这里为了实验,先注释掉 # bind_ip=127.0.0.1,192.168.0.4 #禁止http访问 nohttpinterface=true 通过刚刚创建的配置文件启动MongoDB数据库 [root@tiejiangSRC1 bin]# ./mongod -f ./mongodb_master.conf about to fork child process, waiting until server is ready for connections. forked process: 25742 child process started successfully, parent exiting
创建两个文件夹 存数据和日志 [root@tiejiangSRC2 ~]# mkdir -p /home/tiejiang/mongodb/mongo /home/tiejiang/mongodb/mlog/ [root@tiejiangSRC2 ~]# cd /usr/local/mongodb/bin/ [root@tiejiangSRC2 bin]# vim mongodb_slave.conf #指定端口 port=27017 #后台运行 fork=true #规定数据库的位置 dbpath=/home/tiejiang/mongodb/mongo #规定数据库的日志文件 logpath=/home/tiejiang/mongodb/mlog/mongodb.log #声明从 slave=true #规定从属于哪个ip 注意:ip是主服务器的 最好用内网ip source=192.168.2.71:27017 #允许的地址 为了安全 # bind_ip=127.0.0.1,192.168.2.72 #禁止http访问 nohttpinterface=true 通过刚刚创建的配置文件启动MongoDB数据库 [root@tiejiangSRC2 bin]# ./mongod -f ./mongodb_slave.conf about to fork child process, waiting until server is ready for connections. forked process: 25840 child process started successfully, parent exiting
登录进入数据库 [root@tiejiangSRC1 ~]# cd /usr/local/mongodb/bin/ [root@tiejiangSRC1 bin]# ./mongo > use word switched to db word > db.Tiej.save({name:"tiejiang.org"}) WriteResult({ "nInserted" : 1 }) > db.Tiej.find() { "_id" : ObjectId("58fee36a9b5b51ee756194d5"), "name" : "tiejiang.org" }
登录进入数据库 [root@tiejiangSRC2 ~]# cd /usr/local/mongodb/bin/ [root@tiejiangSRC2 bin]# ./mongo > rs.slaveOk(); > show dbs; local 0.000GB word 0.000GB > use word switched to db word > db.Tiej.find() { "_id" : ObjectId("58fee36a9b5b51ee756194d5"), "name" : "tiejiang.org" }