CentOs Mongodb安装

CentOs Mongodb安装

下载安装启动

下载

wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.9.tgz


解压

tar zxvf mongodb-linux-x86_64-3.2.9.tgz


创建存放db与logs的目录

mkdir -p /mongodb/data
mkdir -p /mongodb/logs


启动

/usr/local/mongodb/bin/mongod --dbpath=/mongodb/data --logpath /mongodb/logs/log.log


在后台挂起启动命令

/usr/local/mongodb/bin/mongod --dbpath=/mongodb/data --logpath /mongodb/logs/log.log --fork



给数据库添加用户名密码

链接上数据库

/usr/local/mongodb/bin/mongo 127.0.0.1:27017


选择admin数据库

>use admin
switched to db admin
>


创建超级管理员帐号

>db.createUser({user:"admin",pwd:"Owenhong136!@#..",roles:[{role:"readWrite",db:"WT"}]})


验证用户是否创建成功

>db.auth("admin","Owenhong136!@#..")
>1
>


重启,并加上验证功能

/usr/local/mongodb/bin/mongod --dbpath=/mongodb/data --logpath /mongodb/logs/log.log --auth --port=27028 --fork


说明

  • admin.system.users中将会保存比在其它数据库中设置的用户权限更大的用户信息,拥有超级权限,也就是说在admin中创建的用户可以对mongodb中的其他数据库数据进行操作。

  • MongoDB系统中,数据库是由超级用户来创建的,一个数据库可以包含多个用户,一个用户只能在一个数据库下,不同数据库中的用户可以同名。

  • 特定数据库(比如DB1)的用户User1,不能够访问其他数据库DB2,但是可以访问本数据库下其他用户创建的数据。

  • 不同数据库中同名的用户不能够登录其他数据库,比如DB1、DB2都有user1,以user1登录DB1后,不能够登录到DB2进行数据库操作。

  • 在admin数据库创建的用户具有超级权限,可以对mongodb系统内的任何数据库的数据对象进行操作。

  • 使用db.auth()可以对数据库中的用户进行验证,如果验证成功则返回1,否则返回0。 db.auth()只能针对登录用户所属的数据库的用户信息进行验证,不能验证其他数据库的用户信息。

配置文件参数说明

[mongodb@rac3 bin]$ vim /path/mongod.conf
port=27028-------端口。默认为27017端口,MongoDB的默认服务TCP端口,监听客户端连接。要是端口设置小于1024,比如1021,则需要root权限启动,不能用mongodb帐号启动,(普通帐号即使是27017也起不来)否则报错:[mongo --port=1021 连接]
bind_ip=192.168.0.1------绑定地址。默认127.0.0.1,只能通过本地连接。进程绑定和监听来自这个地址上的应用连接。要是需要给其他服务器连接,则需要注释掉这个或则把IP改成本机地址,如192.168.200.201[其他服务器用 mongo --host=192.168.200.201 连接] ,可以用一个逗号分隔的列表绑定多个IP地址。
logpath=/path/mongod.log------开启日志审计功能,此项为日志文件路径,可以自定义指定。
pidfilepath=/path/mongod.pid------进程ID,没有指定则启动时候就没有PID文件。
auth=true------用户认证,默认false。不需要认证。当设置为true时候,进入数据库需要auth验证,当数据库里没有用户,则不需要验证也可以操作。直到创建了第一个用户,之后操作都需要验证。
logappend=true------写日志的模式:设置为true为追加。默认是覆盖。如果未指定此设置,启动时MongoDB的将覆盖现有的日志文件。
fork=true------是否后台运行,设置为true 启动 进程在后台运行的守护进程模式。默认false。
nohttpinterface = false------是否禁止http接口,即28017 端口开启的服务。默认false,支持。

启动MongoDB服务时加载配置文件

/usr/local/mongodb/bin/mongod -f /path/mongod.conf


MongoDB备份、恢复

MongoDB备份方式

mongodump -h dbhost -d dbname -o dbdirectory
-h:
MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017
-d:
需要备份的数据库实例,例如:test
-o:
备份的数据存放位置,例如:c:\data\dump,该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个test目录,这个目录里面存放该数据库实例的备份数据。


MongoDB数据恢复

mongodb使用 mongorestore 命令来恢复备份的数据。
语法
mongorestore命令脚本语法如下:
>mongorestore -h dbhost -d dbname --directoryperdb dbdirectory
-h:
MongoDB所在服务器地址
-d:
需要恢复的数据库实例,例如:test,这个名称也可以和备份时候的不一样,比如test2。
--directoryperdb:
备份数据所在位置,例如:c:\data\dump\test。
--drop:
恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用!


转载请注明来自 520UED http://www.520ued.com/article/install-mongodb.html

comments powered by Disqus