MongoDB安装及配置

MongoDB安装及配置

本次安装环境:Centos7、mongodb-linux-x86_64-rhel70-4.0.11-rc0.tgz

1、下载MongoDB源码包,并上传至服务器,解压至opt下

    tar -xzvf mongodb-linux-x86_64-rhel70-4.0.11-rc0.tgz

    mv mongodb-linux-x86_64-rhel70-4.0.11-rc0 mongodb

    mv mongodb /opt/

2、创建配置文件及相关目录

    touch mongodb.conf

    mkdir db

    mkdir log

    touch log/mongodb.log

3、编写配置文件( mongodb.conf )

    port=27017 #端口

    bind_ip = 0.0.0.0 #这样就可外部访问了,例如从win10中去连虚拟机中的MongoDB

    dbpath=/usr/mongodb/db #数据库存文件存放目录

    logpath=/usr/mongodb/log/mongodb.log #日志文件存放路径

    logappend=true #使用追加的方式写日志

    fork=true #以守护进程的方式运行,创建服务器进程

    maxConns=100 #最大同时连接数

    noauth=true #不启用验证

    #auth=true #启用验证

    journal=true #每次写入会记录一条操作日志(通过journal可以重新构造出写入的数据)。即使宕机,启动时wiredtiger会先将数据恢复到最近一次的checkpoint点,然后重放后续的journal日志来恢复。

    storageEngine=wiredTiger #存储引擎有mmapv1、wiretiger、mongorocks

4、启动MongoDB

    /opt/mongodb/bin/mongod -f /opt/mongodb/mongodb.conf

    /opt/mongodb/bin/mongod -f /opt/mongodb/mongodb.conf --shutdown #关闭MongoDB

5、通过命令行进入MongoDB

    /opt/mongodb/bin/mongo --port 27017

MongoDB权限管理

mongodb安装好后第一次进入是不需要密码的,也没有任何用户。在安装MongoDB之后,先关闭auth认证,启动服务端。创建一个帐号,该账号需要有grant权限,即:账号管理的授权权限。注意一点,帐号是跟着库走的,所以在指定库里授权,必须也在指定库里验证(auth)。

添加管理用户

    use admin

    db.createUser( {user: "admin",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]})

    db.auth("admin", "123456") #验证是否成功,返回1则代表成功

给指定的库添加用户认证

    use 72byte

    db.createUser({user: "72byte", pwd: "123456", roles: [{ role: "dbOwner", db: "72byte" }]})

    db.auth("72byte", "123456")

mongodb命令行基本操作

    show dbs 显示所有数据库

    show tables | show collections 显示所有集合

    db 查看当前所在库

    use db_name 创建或使用某个库

    db.dropDatabase() 删除当前所在库

    db.collection_name.find() 查所有满足条件数据

    db.collection_name.findOne() 查满足条件的一条数据

    db.collection_name.count() 统计集合下面有多少数量的数据

    db.collection_name.drop() 删除集合

    db.stats() 查看当前数据库状态

    db.version() 查看当前数据库版本

查找指定条件callno的值小于5

    db.terminal_data_2019_08.find({"callno":{$lt:5}})

更新执行条件callno的值小于5的所有匹配条目,使所有callno的值加5

    db.terminal_data_2019_08.update({"callno":{$lt:5}},{$inc:{'callno':5}},{multi:true})

mongodb数据备份及恢复

数据备份

    ./mongodump -h 192.168.0.199:27017 -u 72byte -p 123456 -d ceshi -o /home/mongodb/backup/

    -d 要备份的库名

    -o 备份到的位置(本次备份的库命为ceshi,则在指定位置下生成名称为ceshi的目录,目录内为备份文件)

    ./mongorestore -h 192.168.0.199:27017 -u 72byte -p 123456 -d ceshi /home/mongodb/backup/ceshi/

    -d 要恢复的库名

    后跟备份文件目录位置

创建MongoDB副本集

Mongodb一共有三种集群搭建的方式:

Replica Set(副本集)

Sharding(分片)

Master-Slaver(主从) #目前已不推荐使用了!!!

副本集:副本集其实一种互为主从的关系,可理解为主主。将数据复制,多份保存,不同服务器保存同一份数据,在出现故障时自动切换。

分片:指为处理大量数据,将数据分开存储,不同服务器保存不同的数据,它们的数据总和即为整个数据集,追求的是高性能。

本次搭建MongoDB副本集实验环境:

192.168.0.172    master-node(主节点)

192.168.0.187    slave-node1(从节点)

192.168.0.199    slave-node2(从节点)

MongoDB 安装目录:/opt/mongodb

MongoDB 数据库目录:/opt/mongodb/db

MongoDB 日志目录:/opt/mongodb/log/mongodb.log

MongoDB 配置文件:/opt/mongodb/mongodb.conf

MongoDB的在三台上安装,安装过程见上文

编写配置文件(三台操作)

    port=27017

    bind_ip=192.168.0.172 #三台分别写自己的ip

    dbpath=/opt/mongodb/db

    logpath=/opt/mongodb/log/mongodb.log

    logappend=true

    fork=true

    maxConns=1000

    #auth=true

    journal=true

    storageEngine=wiredTiger

    directoryperdb=true

    shardsvr=true

    replSet=mymongodb #副本集的名字

启动服务

连接master-node

    mongo 192.168.0.172:27017

    rs.initiate() #初始化副本集

    rs.conf() #设置本机为主节点PRIMARY,执行完前缀已经改成"mymongodb:PRIMARY"

    rs.add("192.168.0.187:27017") #添加副本集从节点

    rs.add("192.168.0.199:27017")

连接两台从节点,两台操作一样

    db.getMongo().setSlaveOk() #设置从节点为只读.注意从节点的前缀现在是SECONDARY

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容