今天习惯无了了于是在linux来学习起MongoDB安装与数据热备份了,这里我利用了主从服务器来解决数据实时备份的例子,下面我们一起来简单看看吧,

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]# ./mongo

MongoDB shell version: 2.0.0

connecting to: test

> use test;

switched to db test

> exit

bye

[root@zabbix_server bin]# netstat -anlpt | grep mongo

tcp 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]# ./mongo

MongoDB shell version: 2.0.0

connecting 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]# ./mongo

MongoDB shell version: 2.0.0

connecting to: test

> db.foo.find({"id":123456})

{ "_id" : ObjectId("51c3f4b21399022afd992f39"), "id" : 123456, "name" : "lizonggang" }

>

1 在主库上插入数据代码如下复制代码

> use elaindb

switched 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]# ./mongo

MongoDB shell version: 2.0.0

connecting to: test

> use elaindb

switched 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.0625GB

local 0.125GB

test 0.0625GB

2)在从库上查询主库的地址

5代码如下复制代码> 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.6837158203125MB

log 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)应急

如果在应用中主挂掉了怎么办?

这个情况就需要,停止从库, 把从库以主库的启动命令起来就可以了,Linux系统中MongoDB安装及主从配置linux操作系统》(https://www.unjs.com)。

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]# ./mongo

MongoDB shell version: 2.0.0

connecting 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" } );

>

>

linux主从库配置文件,Linux系统中MongoDB安装及主从配置linux操作系统 -电脑资料相关推荐

  1. linux系统下定时备份,在Linux系统中简单地实现定时备份的方法 -电脑资料

    运行一个简单的脚本 假设你有一个脚本叫:/usr/local/bin/myscript. ,你想要每隔一小时就运行一次, Service 文件 第一步,创建一个service文件,根据你Linux的发 ...

  2. linux下ace安装教程,Linux 系统中如何安装配置ACE

    Linux 系统中如何安装配置ACE http://www.gnu.org可以下载ACE安装包,这里以ACE-5.6.tar.gz安装包作为示例 1.设置$ACE_ROOT环境变量 # vim /et ...

  3. linux下用户配置文件与系统配置文件

    linux下用户配置文件与系统配置文件 linux下用户配置文件目录在用户的目录下 以我的ubuntu为例,我的用户配置文件所在目录为:/home/liyuanhong 使用命令:ls  -A   来 ...

  4. linux怎么使用git安装目录,Linux系统中怎么安装Git?

    Linux Git是一个方便可用的管理器工具,起初Git就是为Linux而开发的,现在已经应用到各大系统中了.本文就来介绍一下Linux系统中怎么安装Git. 使用包管理器安装Git Git已经被所有 ...

  5. 在Linux系统中的安装cpolar内网穿透

     系列文章 将cpolar内网穿透配置为开机自启动 在Linux系统中的安装cpolar内网穿透 linux本地搭建网站,并将其发布到公网可访问 1-8 linux本地搭建网站,并将其发布到公网可访问 ...

  6. 深度linux运行windows游戏,在deepin linux系统中手动安装windows游戏的小技巧

    本文介绍在deepin linux系统中手动安装windows游戏的小技巧.其实现在wine很好用了,基本dx9的游戏都能玩,但是有些RA2则效果一般,不是很好.关于deepin-wine的版本低有些 ...

  7. linux系统如何安装git,linux安装git_Linux系统中怎么安装Git

    摘要 腾兴网为您分享:Linux系统中怎么安装Git,易信,易通行,悬浮球,闲鱼等软件知识,以及鼠标键盘录制精灵,惠管家,阿里智能app,制冷快报,照度测量仪,求生之路2隐藏武器,uc影音,网易云音乐 ...

  8. 安装linux虚拟机桌面,Linux系统中虚拟机安装教程(图形界面)

    Linux系统中虚拟机安装教程(图形界面) 发布时间:2019-01-15 21:26, 浏览次数:1144 , 标签: Linux Linux系统中虚拟机安装教程(图形界面) 在桌面上已经有安装好的 ...

  9. CentOS6 64bit系统一键快速安装VNC桌面实现Linux桌面

    一般我们在项目需要用到远程桌面功能的时候会用到Windows系统,但是大部分海外服务器商都是Linux系统的,我们只可以去安装类似CentOS.Debian.Ubuntu等系统.如果我们是本地电脑用的 ...

  10. linux权限644是什么,linux系统644、755、777权限详解linux操作系统 电脑资料

    linux系统644.755.777权限详解linux操作系统 电脑资料 在linux系统中644.755.777三种权限是非常重要的一些权限了,下面我来详细的介绍644.755.777三种权限的使用 ...

最新文章

  1. 有互感的电感的串并联
  2. 男人最佳的生育年限,程序猿们,看看吧!!!
  3. 图像处理实战-Python编程进阶
  4. Panoply软件安装
  5. 华为虚拟机eNSP命令大全(所有命令)
  6. PuTTY怎么读,PuTTY怎么发音,PuTTY的发音
  7. java 打印机_JAVA实现调用打印机打印PDF
  8. python绘图——图片大小设置figsize
  9. 条形码生成软件如何设置条形码数据的字号大小
  10. 设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积用scanf输人数据,输出计算结
  11. Ubuntu Linux 15.04安装 nginx + passenger
  12. java程序设计俄罗斯方块_俄罗斯方块单人游戏JAVA程序设计
  13. fullPage学习
  14. win10计算机全名恢复,详细教您win10强制进入恢复模式方法
  15. 一天上手Aurora 8B/10B IP核(4)----从Streaming接口的官方例程学起
  16. 基于单片机的多功能智能指纹_手机_门禁卡_按键密码锁系统设计
  17. 三相异步电机基于模型的效率估计算法
  18. 羊了怎么居家办公?免费不限速的远程控制软件RayLink一解燃眉之急!!
  19. 第四届世界互联网大会人工智能论坛:AI让生活更美好
  20. DXVA 处理交错视频

热门文章

  1. php苹果推送消息,php推送消息到IOS
  2. 你不能访问此文件夹,因为你组织的安全策略阻止了未经身份验证的来宾访问
  3. 《移动App性能评测与优化》— Android 书籍
  4. 7-3 组个最小数 (20 分)
  5. [Algorithm] Write your own Math.pow function in Javascript, using Recursive approach
  6. TimeUnit类中的sleep() 和Thread.sleep()
  7. Netty(3)Time protocol
  8. 【习题 8-10 UVA - 1614】Hell on the Markets
  9. 关于编码问题,报错:'gbk' codec can't encode character '\u3164' in position 0: illegal multibyte sequence...
  10. 2007年春节,祝朋友们:身体健康,万事如意! 度过一个愉快春节!