Linux环境下mongodb的安装和配置

下载完安装包,并解压 tgz(以下演示的是 64 位 Linux上的安装) 。

curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz    # 下载
tar -zxvf mongodb-linux-x86_64-3.0.6.tgz                                   # 解压

mv  mongodb-linux-x86_64-3.0.6/ /usr/local/mongodb                         # 将解压包拷贝到指定目录

MongoDB 的可执行文件位于 bin 目录下,所以可以将其添加到 PATH 路径中:

export PATH=/usr/local/mongodb/bin:$PATH

/usr/local/mongodb 为 MongoDB 的安装路径。

创建数据库目录

MongoDB的数据存储在data目录的db目录下,但是这个目录在安装过程不会自动创建,所以需要手动创建data目录,并在data目录中创建db目录。
以下实例中我将data目录创建于根目录下(/)。
注意:/data/db 是 MongoDB 默认的启动的数据库路径(--dbpath)。

mkdir -p /data/db

命令行中运行 MongoDB 服务

你可以再命令行中执行mongo安装目录中的bin目录执行mongod命令来启动mongdb服务。
注意:如果你的数据库目录不是/data/db,可以通过 --dbpath 来指定。

./mongod
2015-09-25T16:39:50.549+0800 I JOURNAL  [initandlisten] journal dir=/data/db/journal
2015-09-25T16:39:50.550+0800 I JOURNAL  [initandlisten] recover : no journal files present, no recovery needed
2015-09-25T16:39:50.869+0800 I JOURNAL  [initandlisten] preallocateIsFaster=true 3.16
2015-09-25T16:39:51.206+0800 I JOURNAL  [initandlisten] preallocateIsFaster=true 3.52
2015-09-25T16:39:52.775+0800 I JOURNAL  [initandlisten] preallocateIsFaster=true 7.7

在/usr/local创建log、conf目录,

mkdir logs
touch ./logs/mongodb.log
mkdir conf

添加配置文件

vim ./conf/mongodb.conf

配置说明

 #数据目录
dbpath=/data/db #数据目录
#日志目录
logpath=/usr/local/mongodb/logs/mongodb.log
port=27017 #端口号
#设置后台运行
fork=true 
#日志输出方式
logappend = true 
#开启认证
#auth = true

启动

 /usr/local/mongodb/bin/mongod --config /usr/local/mongodb/conf/mongodb.conf

检查mogodb端口

netstat -lanp  | grep 27017  

设置开机启动

echo "/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/bin/logs/mongodb.log --logappend  --auth --port=27017" >> /etc/rc.local

添加到系统服务

 vim /etc/rc.d/init.d/mongod

内容如下

start() {  
/usr/local/mongodb/bin/mongod  --config /usr/local/mongodb/conf/mongodb.conf 
}  
  
stop() {  
/usr/local/mongodb/bin/mongod  --config /usr/local/mongodb/conf/mongodb.conf  --shutdown  
}  
case "$1" in  
  start)  
 start  
 ;;  
  
stop)  
 stop  
 ;;  
  
restart)  
 stop  
 start  
 ;;  
  *)  
 echo  
$"Usage: $0 {start|stop|restart}"  
 exit 1  
esac 

修改权限

chmod +x /etc/rc.d/init.d/mongod 

启动 停止

service mongod start
service mongod stop

启动mongodb:

mongo --port 27017

创建管理员账户并赋予权限(用于管理所有数据库):

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

user:”用户名“,
pwd:"密码”,
roles:[{role:"角色名“, db:"角色所属数据库”}, {role:"角色名2“, db:"角色所属数据库2”},.....]

新增的用户在 db.system.users 中

db.getCollectionNames()

[ "system.indexes", "system.users", "system.version" ]

验证用户是否创建成功:

db.auth("root","1234")
1
> exit

杀掉进程,重启mongoDB服务:

ps -ef | grep mongod
kill -9  pid

带认证模式开启Mongod:

mongod --auth --config /usr/local/mongodb/conf/mongodb.conf

进入账户所属数据库,再认证

use admin
>switched to db admin
db.auth("用户名","密码")
>1 
show dbs
>admin 0.000GB
>config 0.000GB
>local 0.000GB

这样登陆成功了

你可能感兴趣的:(Linux环境下mongodb的安装和配置)