来自菜鸟驿站
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 安装准备
在远程服务器,准备mongo需要的几个文件和文件夹
cd /
mkdir mongo
cd mongo
mkdir data
mkdir log
cd data && mkdir db # 数据库
cd log
vi mongob.log # 日志文件
vi mongo.cfg # mongodb的配置文件启动mongo服务
cd /mongo/bin/
mongo --config '/mongo/mongod.cfg'以我自己的服务器配置为例,在**/lib/systemd/system/** 目录下新建 mongodb.service文件,内容如下
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/mongo/mongodb/bin/mongod --config /mongo/mongodb/bin/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/mongo/mongodb/bin/mongod --shutdown --config /mongo/mongodb/bin/mongodb.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target 使用:
systemctl start mongodb.service # 开启mongodb服务
systemctl reload mongodb.service # 重启mongodb服务
systemctl stop mongodb.service # 停止mongodb服务启动服务之后, 执行命令 netstat -tunlp | grep 27017 查看一下端口的占用情况, 端口号为mongo.cfg的配置文件中配置的端口号
配置路径
使用mongo的时候,需要把mongod安装的位置暴露到全局环境
export PATH=‘<mongodb filepath>/bin:$PATH’Mongodb的权限配置
开启--auth 或者是mongo.cfg中设置auth=true之后,数据库的操作就有了权限控制,在没有权限的情况下会报一个没有权限的错误,
就像下面这个没有写入权限的错误类似

解决如下:
打开mongo的shell
use admin
> switched admin
db.createUser({
user: 'root',
pwd: 'root'
roles: [
{
role: 'userAdminAnyDatabase', # 添加数据库管理员
db: 'admin'
}
]
})
db.auth('root', 'root') # 验证账户
db.createUser({ # 给数据库添加可操作账号
user: 'admin',
pwd: 'admin',
roles: [
{ role: 'read', db: 'test' }, # 只读权限
]
})
配置之后继续验证一下权限
use test
db.auth('admin', 'admin')
db.createUser({ # 给数据库添加可操作账号
user: 'admin_rw',
pwd: 'admin_rw',
roles: [
{ role: 'readWrite', db: 'test' } # 读写权限
]
})
use test
db.auth('admin_rw', 'admin_rw')