最近在又在倒腾MongoDB,把安装配置的相关命令贴出来 
1、下载 
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.2.8.tgz

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: “testMongoDB2016”, 
roles:[{role:”root”, db:”admin”}] 

);

db.createUser( 

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

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

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

use admin 
db.auth(“root”, “testMongoDB2016”) 
db.shutdownServer() 
再在无认证情况下打开 mongod 
use admin 
db.dropUser(“hhq163”) 
db.system.version.update({ “_id”:”authSchema”},{$set:{“currentVersion”:3}}) 
db.createUser({user:”hhq163”,pwd:”test123456”,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()

最新文章

  1. Mac OS 使用 Vagrant 管理虚拟机(VirtualBox)
  2. 《PHP数组函数》笔记
  3. HttpUtility.UrlEncode 和Server.UrlEncode的区别,记录记录,被乱码搞晕头了。。。。。
  4. transition代替简单的animation注意事项
  5. Delphi面向对象---接口
  6. Javascript-jQuery【1】-用promise()实现html()回调函数
  7. Maven学习(二) -- 坐标和依赖
  8. 支持向量机(SVM)基础
  9. 【UVA 11078】BUPT 2015 newbie practice #2 div2-A -Open Credit System
  10. ListView真的蛮好用
  11. mac(osx) apache无法启动 localhost无法访问服务器[]
  12. 数学概念——G 最大公约数
  13. python enumarate方法的使用
  14. css 如何实现图片等比例缩放
  15. SmartGit过期解决办法
  16. MATLAB 到 Python之路1_数据结构和简单操作
  17. 开源项目MultiChoiceAdapter详解(四)——MultiChoiceBaseAdapter的使用
  18. [转]MS SQL Server 数据库连接字符串详解
  19. LightGBM优势总结
  20. Css之备忘录~

热门文章

  1. ES6的新特性(4)——字符串的扩展
  2. loadrunner socket协议问题归纳(2)
  3. react native组件的生命周期
  4. Swing State: Consistent Updates for Stateful and Programmable Data Planes
  5. OA_1界面
  6. inux下mysql的root密码忘记解决方法
  7. PHP中普通方法和静态方法
  8. c# AOP 文章地址
  9. 第119天:移动端:CSS像素、屏幕像素和视口的关系
  10. 【.Net】Net开发