mongodb编译安装

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mongodb编译安装相关的知识,希望对你有一定的参考价值。

安装MongoDB
1、下载 

最新下载地址:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.6.4.tgz

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.2.8.tgz

mkdir usr/local/ mongodb

2、解压 
tar zxvf mongodb-linux-x86_64-rhel70-3.2.8.tgz 
mv mongodb-linux-x86_64-rhel70-3.2.8 /usr/local/ 
mv mongodb-linux-x86_64-rhel70-3.2.8 mongodb 
cd mongodb/

mkdir db 
mkdir logs 
cd bin/ 
3、编辑配置文件: 
vim mongodb.conf 
输入以下内容: 
dbpath=/usr/local/mongodb/db 
logpath=/usr/local/mongodb/logs/mongodb.log 
bind_ip=0.0.0.0 
port=27017 
fork=true 
nohttpinterface=true

4、创建新的账号: 
groupadd mongodb 
useradd mongodb -g mongodb 
cd ../../ 
chown -R mongodb:mongodb mongodb

5、启动: 
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/bin/mongodb.conf

6、设置开机自动启动mongodb 
vi /etc/rc.d/rc.local 
/usr/local/mongodb/bin/mongod –config /usr/local/mongodb/bin/mongodb.conf

进入mongodb的shell模式: 
/usr/local/mongodb/bin/mongo 
查看数据库列表: 
show dbs 
查看当前db版本: 
db.version();

7、增加管理员权限:

userAdminAnyDatabase 这个角色拥有分配角色和用户的权限,但没有查写的缺陷 
root 这是超级管理员 
readWrite 有读写权限 
read 有读权限

进入shell模式: 
/usr/local/mongodb/bin/mongo

use admin //切换到admin数据库

db.createUser( 

user: “root”, 
pwd: “llh2018”, 
roles:[{role:”root”, db:”admin”}] 

);

db.createUser( 

user: “mongoRoot”, 
pwd: “llh2018”, 
roles:[{role:”userAdminAnyDatabase”, db:”admin”}] 

); 
验证一下,在哪里注册用户的要去哪个db里认证: 
db.auth(“mongoRoot”, “testMongoDB2016”) 
此后可以用这个mongoRoot账号去创建某一数据库管理账号: 
db.createUser({user:”llh”,pwd:”llh2018”,roles:[{“role”:”readWrite”,”db”:”admin”}]})

但发现此时增加的账号不能在客户端登录,原因是mongodb版本错了: 
先退出 mongod 服务

use admin 
db.auth(“root”, “testMongoDB2016”) 
db.shutdownServer() 
再在无认证情况下打开 mongod 
use admin 
db.dropUser(“lelaohui”) 
db.system.version.update({ “_id”:”authSchema”},{$set:{“currentVersion”:3}}) 
db.createUser({user:”lelaohui”,pwd:”123456”,roles:[{“role”:”readWrite”,”db”:”admin”}]}) 
再以认证的形式启动mongodb

如果需要创建某一个新DB的账号: 
需要在shell下执行: 
use TestDB 
db.createUser({user:”hhq163”,pwd:”test123456”,roles:[{“role”:”readWrite”,”db”:”TestDB”}]})

vim /usr/local/mongodb/bin/mongodb.conf 
在文件末尾增加以下这一行: 
auth=true

8、关闭数据库服务器: 
use admin 
db.shutdownServer()

如果开户安全认证,则要先认证: 
use admin 
db.auth(“root”, “testMongoDB2016”) 
db.shutdownServer()


以上是关于mongodb编译安装的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB安装

linux下mongodb程序和c++客户端的编译

如何在arch linux系统中安装MongoDB

MongoDB 学习笔记二:安装MongoDB

编译安装 PHP 扩展

window平台安装MongoDB