linux下安装MongoDB,配置主从服务
来源:互联网 发布:淘宝客服奖罚 编辑:程序博客网 时间:2024/04/30 02:18
linux下安装MongoDB,配置主从服务
官方网站:
http://www.mongodb.org/
MongoDB 安裝,主从配置
一 MongoDB 安装
[root@zabbix_server src]# wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.0.0.tgz[root@zabbix_server src]# tar xzvf mongodb-linux-x86_64-2.0.0.tgz[root@zabbix_server src]# mv mongodb-linux-x86_64-2.0.0 /usr/local/mongodb[root@zabbix_server src]# mkdir /usr/local/mongodb/data[root@zabbix_server src]# touch /usr/local/mongodb/logs[root@zabbix_server bin]# /usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs --logappend --port=27017 --fork[root@zabbix_server bin]# ./mongoMongoDB shell version: 2.0.0connecting to: test> use test;switched to db test> exitbye[root@zabbix_server bin]# netstat -anlpt | grep mongotcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 11504/mongod tcp 0 0 0.0.0.0:28017 0.0.0.0:* LISTEN 11504/mongod
注意:
如果报错
-bash: /usr/local/mongodb/bin/mongod: cannot execute binary file
说明你的服务器和mongodb 的版本不对应, 如果服务器是64位,下载x86_64的mongodb ,如果服务器是32位的, 下载i686的mongodb/
二 MongoDB 主从配置
1)实验环境
主:192.168.0.14从:192.168.0.64
2)时间同步
两台机器做时间同步[root@zabbix_server src]# ntpdate time.windows.com
3)启动服务
master:192.168.0.14启动命令
/usr/local/mongodb/bin/mongod --master --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs --logappend --port=27017 --fork
slave:192.168.0.64
启动命令
/usr/local/mongodb/bin/mongod --slave --source 192.168.0.14:27017 --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs --logappend --port=27017 --fork
4)测试主从
在主上插入数据测试1:
1 在主库上插入数据
[root@cacti bin]# ./mongoMongoDB shell version: 2.0.0connecting to: test> db.foo.save({"id":123456,"name":'lizonggang'})> db.foo.find({"id":123456}){ "_id" : ObjectId("51c3f4b21399022afd992f39"), "id" : 123456, "name" : "lizonggang" }>
2 在从上查看数据(已有在主上插入的数据,说明主从成功)
[root@zabbix_server bin]# ./mongoMongoDB shell version: 2.0.0connecting to: test> db.foo.find({"id":123456}){ "_id" : ObjectId("51c3f4b21399022afd992f39"), "id" : 123456, "name" : "lizonggang" }>
1 在主库上插入数据
> use elaindbswitched to db elaindb> db.test.save({title:"This is a test!"})> db.test.find();{ "_id" : ObjectId("51c3f8f11a90c8da157c7f64"), "title" : "This is a test!" }>
2 在从库上验证数据
[root@zabbix_server bin]# ./mongoMongoDB shell version: 2.0.0connecting to: test> use elaindbswitched to db elaindb> db.test.find();{ "_id" : ObjectId("51c3f8f11a90c8da157c7f64"), "title" : "This is a test!" }> db.printReplicationInfo();this is a slave, printing slave replication info.source: 192.168.0.14:27017 syncedTo: Fri Jun 21 2013 14:59:10 GMT+0800 (CST) = 9 secs ago (0hrs)>> db.printSlaveReplicationInfo();source: 192.168.0.14:27017 syncedTo: Fri Jun 21 2013 14:59:30 GMT+0800 (CST) = 16 secs ago (0hrs)>
测试3:
在这个状态下,slave 下是不可以插入数据的
> db.test.save({title:"This is slave test!"})not master
5) 一些查询状态的语句
1)查询库
> show dbs;elaindb 0.0625GBlocal 0.125GBtest 0.0625GB
2)在从库上查询主库的地址
> use local;switched to db local> db.sources.find(){ "_id" : ObjectId("51c3f5dd568d10529950b10d"), "host" : "192.168.0.14:27017", "source" : "main", "syncedTo" : { "t" : 1371797300000, "i" : 1 } }>
3)查看主从复制状态
> db.printReplicationInfo();configured oplog size: 47.6837158203125MBlog length start to end: 1375secs (0.38hrs)oplog first event time: Fri Jun 21 2013 14:30:35 GMT+0800 (CST)oplog last event time: Fri Jun 21 2013 14:53:30 GMT+0800 (CST)now: Fri Jun 21 2013 14:53:32 GMT+0800 (CST)>
4)查看Collection状态
> db.printCollectionStats();foo{ "ns" : "test.foo", "count" : 1, "size" : 56, "avgObjSize" : 56, "storageSize" : 4096, "numExtents" : 1, "nindexes" : 1, "lastExtentSize" : 4096, "paddingFactor" : 1, "flags" : 1, "totalIndexSize" : 8176, "indexSizes" : { "_id_" : 8176 }, "ok" : 1}---system.indexes{ "ns" : "test.system.indexes", "count" : 1, "size" : 64, "avgObjSize" : 64, "storageSize" : 4096, "numExtents" : 1, "nindexes" : 0, "lastExtentSize" : 4096, "paddingFactor" : 1, "flags" : 0, "totalIndexSize" : 0, "indexSizes" : { }, "ok" : 1}--->
6)应急
如果在应用中主挂掉了怎么办?这个情况就需要,停止从库, 把从库以主库的启动命令起来就可以了。
1)停掉从库
kill -9 进程号
2)删除locat下文件
rm mongodb/db/locat.* -rf
3)启动从库
/usr/local/mongodb/bin/mongod --master --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs --logappend --port=27017 --fork
7) MongoDB 增,删,改,查
[root@cacti bin]# ./mongoMongoDB shell version: 2.0.0connecting to: test> db.test.insert({ "Name" : "ymind", "age" : 8 }); #在test数据库里插入数据>> db.test.find({ "Name" : "ymind" } ); #查询数据{ "_id" : ObjectId("51c4187090db4e4751a3cd05"), "Name" : "ymind", "age" : 8 }> db.test.find({ "age" : 8} ); #查询数据{ "_id" : ObjectId("51c4187090db4e4751a3cd05"), "Name" : "ymind", "age" : 8 }>>> db.test.update({"Name" : "ymind"}, { "$set" : { "age" : "5" } } ); #修改数据> db.test.find({ "Name" : "ymind" } );{ "Name" : "ymind", "_id" : ObjectId("51c4187090db4e4751a3cd05"), "age" : "5" }>> db.test.remove({ "Name" : "ymind" } ); #删除数据> db.test.find({ "Name" : "ymind" } );>>
0 0
- linux下安装MongoDB,配置主从服务
- linux下安装MongoDB,配置主从服务
- Linux下Mongodb的主从配置
- Linux下Mongodb的主从配置
- Linux下Mongodb的主从配置 .
- Linux下Mongodb的主从配置
- Linux下Mongodb数据库主从同步配置
- Linux下MongoDB服务安装
- Mongodb的安装、主从配置、replicaSet配置 linux
- 【Linux版】Mongodb的安装、主从配置、replicaSet配置
- linux下配置安装mongodb
- LINUX 下mongodb安装配置
- linux下安装配置mongodb
- linux下配置安装mongodb
- MongoDB安装与win10下服务配置
- MongoDB 安装以及主从配置
- Linux下安装Redis和主从配置
- MongoDB的Windows下安装并配置MongoDB服务
- %*c的作用
- BZOJ 2809: [Apio2012]dispatching
- using namespace std
- LINQ to SQL语句 Union/Intersect/Except
- 阶乘因式分解(一)(参考+思考)
- linux下安装MongoDB,配置主从服务
- strlen函数详解
- EXCEL表格中,第一、第二行看不到了怎么办
- memset使用详解
- gets()函数
- 函数形参使用结构体引发的问题
- POJ【数论/组合/博弈论】题目列表
- 编译时,遇到errorLNK:无法解析的外部符号几种分析情况
- 继续路上-慢慢积累-成功起飞