站点图标 IDC铺

Centos6.5搭建MongoDB数据库主从架构详细实验步骤

这篇文章主要介绍了详解mongoDB主从复制搭建详细过程的相关资料,这里对实现主从复制进行了详细的步骤介绍,需要的朋友可以参考下实验目的搭建mongoDB主从复制主:192.168.2.71从:192.168.2.72。

一、下载MongoDB前往mongodb官网下载页面:https://www.mongodb.org/downloads下载相应的版本,比如目前的Linux x64位最新版:mongodb-linux-x86_64-2.6.4.tgz

不过有点坑爹是,下载链接明明是tgz格式,结果下载后变成了gz格式:

先下载看看好了二、MongoDB主安装[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/三、MongoDB从安装[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/四、MongoDB的bin下各工具的用途mongod:数据库服务端,类似mysqld,每个实例启动一个进程,可以fork为Daemon运行

mongo:客户端命令行工具,类似sqlplus/mysql,其实也是一个js解释器,支持js语法mongodump/mongorestore:将数据导入为bson格式的文件/将bson文件恢复为数据库,类似xtracbackup

mongoexport/mongoimport:将collection导出为json/csv格式数据/将数据导入数据库,类似- – – mysqldump/mysqlimportbsondump:将bson格式的文件转储为json格式的数据

mongos:分片路由,如果使用了sharding功能,则应用程序连接的是mongos而不是mongodmongofiles: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: 25742child 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是主服务器的 最好用内网ipsource=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: 25840child process started successfully, parent exiting

七、MongoDB主从测试:主创建表登录进入数据库[root@tiejiangSRC1 ~]# cd /usr/local/mongodb/bin/[root@tiejiangSRC1 bin]# ./mongo

> use wordswitched to db word>  db.Tiej.save({name:”tiejiang.org”})WriteResult({ “nInserted” : 1 })>  db.Tiej.find()

{ “_id” : ObjectId(“58fee36a9b5b51ee756194d5”), “name” : “tiejiang.org” }八、MongoDB主从测试:从同步表登录进入数据库[root@tiejiangSRC2 ~]# cd /usr/local/mongodb/bin/

[root@tiejiangSRC2 bin]# ./mongo>  rs.slaveOk();>  show dbs;local  0.000GBword   0.000GB>  use wordswitched to db word

>  db.Tiej.find(){ “_id” : ObjectId(“58fee36a9b5b51ee756194d5”), “name” : “tiejiang.org” }九、实验截图

退出移动版