找回密码
 注册
查看: 4587|回复: 0

Linux下MongoDB安装和配置

[复制链接]

70

主题

73

回帖

1201

积分

网站编辑

积分
1201
发表于 2018-12-10 16:33:04 | 显示全部楼层 |阅读模式
一、创建MongoDB的安装路径
在/usr/local/  创建文件夹mongoDB
mkdir mongoDB
二、上传文件到Linux上的/usr/local/source目录下
1. 我首先在mongoDB下载路径下载mongoDB下载对应的版本.
2.通过FTP工具将安装包上传到linux机器上面.
三、解压文件
1. 进入到/usr/local/source目录:
cd /usr/local/source
2. 运行如下命令: tar -zxvf mongodb-linux-i686-3.2.13-rc0.gz -C /usr/local/mongoDB
2. 重命名
四、创建配置文件
1. 创建数据库文件夹
cd /usr/local/mongoDB/mongodbserver
mkdir data
2. 创建日志文件夹
cd /usr/local/mongoDB/mongodbserver
mkdir log
3. 创建配置文件夹与配置文件
3.1 创建配置文件夹etc
cd /usr/local/mongoDB/mongodbserver
mkdir etc
3.2 创建配置文件mongodb.conf
cd /usr/local/mongoDB/mongodbserver/etc
vim mongodb.conf
[url=][/url]0 v9 W, ~+ @1 I2 c! q- K% I
dbpath=/usr/local/mongoDB/mongodbserver/datalogpath=/usr/local/mongoDB/mongodbserver/logs/mongodb.logport=27017fork=true
0 Y" d- S6 n9 G  P0 r: qjournal=falsestorageEngine=mmapv1[url=][/url]3 r7 D2 o3 w$ _/ `; a: c

8 ]9 ]0 s( n% ~: A" b五、启动MongoDB
1. mongodb安装好后第一次进入是不需要密码的,也没有任何用户,通过shell命令可直接进入,cd到mongodb目录下的bin文件夹,执行命令./mongo即可,如下所示:
./mongod --config /usr/local/mongoDB/mongodbserver/etc/mongodb.conf
启动成功后,访问http://npfdev1:27017/ , 可以看到:
2、添加管理用户(mongoDB 没有无敌用户root,只有能管理用户的用户 userAdminAnyDatabase)
利用mongo命令连接mongoDB服务器端:
> use admin
: V; p2 Q. W7 [9 D, X! nswitched to db admin: m7 w, a1 X6 e4 N+ b1 d" g5 y$ m
> db.createUser( {user: "pfnieadmin",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]});
成功后,你将会看到:
注:添加完用户后可以使用show users或db.system.users.find()查看已有用户.
3、添加完管理用户后,关闭MongoDB,并使用权限方式再次开启MongoDB,这里注意不要使用kill直接去杀掉mongodb进程,(如果这样做了,请去data/db目录下删除mongo.lock文件),可以使用db.shutdownServer()关闭.
4、使用权限方式启动MongoDB
在配置文件中添加:auth=true , 然后启动:
5、进入mongo shell,使用admin数据库并进行验证,如果不验证,是做不了任何操作的。 ( k& r5 Z( T9 L+ D5 N6 n& \+ a; y

- p6 q0 |$ b3 B  `) a+ K> use admin
/ Q7 S: X2 w/ @> db.auth("pfnieadmin","123456")   #认证,返回1表示成功
) w8 Y6 `) X7 ]* [! r" ^* }; s* F六、将mongod路径添加到系统路径中,方便随处执行mongod命令
1. 在/etc/profile文件中,添加 export PATH=$PATH:/usr/local/mongoDB/mongodbserver/bin
2. 执行source /etc/profile,使系统环境变量立即生效
七、将mongo路径软链到/usr/bin路径下,方便随处执行mongo命令
1. 执行命令: ln -s /usr/local/mongoDB/mongodbserver/bin/mongo  /usr/bin/mongo
八、测试是否方便随处执行mongo命令
1. 回到任意路径下,执行mongo命令,连接mongod服务
2. 关闭mongod服务,执行db.shutdownServer()
2017-04-20T18:32:26.865+0800 E QUERY [thread1] Error: shutdownServer failed: {# h' }6 d% H$ u0 x
"ok" : 0,
, M+ R) r7 c1 `; V3 S"errmsg" : "not authorized on admin to execute command { shutdown: 1.0 }",
" D5 `) [8 P, r" M% c3 G8 \"code" : 13# j2 J: |" i1 f9 _# j7 N
} :! ]2 G$ W: [) B9 H) ^
_getErrorWithCode@src/mongo/shell/utils.js:25:13
' W+ ^. z9 I0 E8 aDB.prototype.shutdownServer@src/mongo/shell/db.js:302:1$ Q5 N6 a, @3 C
@(shell):1:1
解决办法,执行下面的语句,添加权限:
[url=][/url]
* |" S8 J2 ?" w; p! n7 W5 k: Mdb.updateUser( "pfnieadmin",        {           roles : [                     {"role" : "userAdminAnyDatabase","db" : "admin"},                     {"role" : "dbOwner","db" : "admin"},) }+ U5 p/ f0 e6 w- E9 h/ B5 H
                     {"role" : "clusterAdmin", "db": "admin"}                   ]        } )[url=][/url]1 E# w! c1 I' Z# }7 G
; J5 Q7 u8 h# _& }$ r
然后在执行db.shutdownServer().
或者执行下面的命令关闭:
killall mongod
3. 启动mongod服务
mongod --config /usr/local/mongoDB/mongodbserver/etc/mongodb.conf
九、MongoDB设置为系统服务并且设置开机启动
1.通过上面简单的操作,我们已经将MongoDB配置文件配置完成,那么接下里我们将为MongoDB设置系统服务。& n  k7 V3 k5 g, C2 p8 T8 f  D
2.首先添加MongoDB系统服务,命令如下:vim /etc/rc.d/init.d/mongod4 Q; h7 l8 x- N* Z8 K  O6 C% m/ \) s
3.打开编辑器后,我们将下面的配置粘贴进去,然后保存
[url=][/url]9 w# ?$ l. a% W; V  B0 Y$ `7 j$ A
start() {  /usr/local/mongoDB/mongodbserver/bin/mongod  --config /usr/local/mongoDB/mongodbserver/etc/mongodb.conf }    stop() {  /usr/local/mongoDB/mongodbserver/bin/mongod --config /usr/local/mongoDB/mongodbserver/etc/mongodb.conf --shutdown  }  case "$1" in    start)   start   ;;    stop)   stop   ;;    restart)   stop   start   ;;    *)   echo  $"Usage: $0 {start|stop|restart}"   exit 1  esac [url=][/url]2 }) T! P) Q1 _4 z  K  c' C/ {

3 M1 y4 P; w: Q' o
4.保存完成之后,添加脚本执行权限,命令如下:chmod +x /etc/rc.d/init.d/mongod 0 Z9 n% f7 Z/ U/ ~$ N. w9 e) G
5.启动MongoDB,service mongod start 如下图所示,则说明启动成功:
6.可以使用命令service mongod stop关闭MongoDB服务。2 n0 Y' q, g( o! G
7. 验证mongoDB是否启动,输入命令lsof -i :27017,监测端口已经在使用中,所以说启动已经完成。

9 L: C, \% s4 {5 R. C2 V
7 d7 m/ G. I% ~% \: _) E, N
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-11 22:02 , Processed in 0.018928 second(s), 21 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表