MongoDB安装、配置和基本使用

一、搭建MongoDB的yum源

如果安装epel扩展源,可以安装MongoDB2.4版本

如要安装3.0版本,需要自己配置yum源,官方提供的源只支持64位系统

# vim /etc/yum.repos.d/mongodb-org-3.0.repo

加入如下内容:

[mongodb-org-3.0]

name=MongoDB Repository

baseurl=http://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/

gpgcheck=0

enabled=1

然后就可以安装MongoDB了

# yum -y install mongodb-org

二、配置MongoDB

MongoDB的启动脚本位置:/etc/init.d/mongod

MongoDB的配置文件位置:/etc/mongod.conf

MongoDB的日志文件位置:/var/log/mongodb

MongoDB的数据库文件位置: /var/lib/mongo/

修改配置文件:

将fork: true后面的内容去掉

将pidFilePath: /var/run/mongodb/mongod.pid后面的内容去掉

将bindIp:后面的内容去掉(绑定的ip)

修改内核参数:

# echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled

# echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag

# vim /etc/security/limits.conf加入:

mongod  soft    nofile  64000

mongod  hard    nofile  64000

mongod  soft    nproc   32000

mongod  hard    nproc   32000

启动MongoDB服务

# /etc/init.d/mongod start

如果启动失败可以看到错误信息

# mongod -f /etc/mongod.conf

三、MongoDB连接和用户管理

1、在本机可以直接运行命令mongo进入到mongodb shell中

2、如果mongodb监听端口并不是默认的27017,则在连接的时候需要加--port选项,mongo --port27018

3、连接远程mongodb,需要加--host,mongo --host 127.0.0.1

4、如果设置了验证,则在连接的时候需要带用户名和密码

mongo -uusername -ppasswd #类似mysql

四、MongoDB用户管理

1、首先mongodb用户是针对数据库来的,建立用户是首相要进入到对应的库里

use test #切换到test数据库下如果没有直接创建

db.createUser({user:"fansik",pwd:"fanjinbao",roles:[{role:'dbOwner',db:'userdb'}]})

use admin #切换到admin库查看用户

db.system.users.find() #查看所有用户(只能在admin库中查看)

show users #查看当前数据库下所有的用户

db.dropUser('fansik') #删除 用户

mongodb数据库角色参考文档

http://bbs.51cto.com/thread-1146654-1.html

五、MongoDB库和集合管理

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

use userdb #如果库存在就切换,不存在就创建

show dbs #查看库,此时userdb并没有出现,这是因为该库是空的,还没有任何集合,只需要创建一个集合就能看到了

db.createCollection('fansik') #创建集合fansik,在当前库下创建

db.dropDatabase() #删除当前库,要想删除某个库,必须切换到那个库下面

db.stats() #查看当前库的信息

db.serverStatus() #查看mongodb服务器的状态

六、MongoDB创建集合

创建集合语法:db.createCollection(name,options)

db.createCollection("mycol",{capped : true, autoIndexID : true, size : 6142800, max : 10000 })

name就是集合的名字,options可选,用来配置集合的参数,参数如下:

cappend true/false(可选)如果为true,则启用封顶集合。封顶集合是固定大小的集合,当它达到其最大大小,会自动覆盖最早的条目,如果指定true,则也需要指定尺寸参数

autoindexID true/false(可选)如果为true,自动创建索引_id,字段的默认值是false

size(可选)指定最大大小字节封顶集合,如果封顶是true,那么你还需要指定这个字段,单位是B

max(可选)指定封顶集合允许在文件的最大数量

六、MongoDB集合管理

show collections #查看集合,或者使用show tables

db.Account.insert({AccountID,UserName:"1r43",passwd:"123456"}) #如果集合不存在,直接插入数据,则mongodb会自动创建集合

db.account.find() #查看集合account中的所有文档

db.Account.update({AccountID:1},{"$set":{"User":"100"}}) #如果集合中有User则修改,没有则增加

db.Account.remove({AccountID:1}) #删除集合中的内容

db.Account.drop() #删除Account集合

db.printCollectionStats() #查看集合的状态(要先进入对应的库)

上一篇:python3使用PyMysql连接mysql数据库


下一篇:2019牛客暑期多校训练营(第十场)Han Xin and His Troops——扩展中国剩余定理