通过yum安装
一、创建yum文件 vi /etc/yum.repos.d/mongodb-org-3.4.repo
然后复制下面配置,保存退出
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
二、yum安装
yum install -y mongodb-org 安装完毕后修改配置文件:vi /etc/mongod.conf
修改配置文件的 bind_ip, 默认是 127.0.0.1 修改为 0.0.0.0 允许远程连接,打开防火墙
三、基本操作命令
启动:service mongod start
停止:service mongod stop
重启:service mongod restart
查看mongoDB是否启动成功:cat /var/log/mongodb/mongod.log;日志文件应该会出现如下一句说明:[initandlisten] waiting for connections on port <port>
也可以通过下面命令检查是否启动成功:chkconfig mongod on
如果启动失败code=100则可以在/var/lib/mongo运行chown -R mongod:mongod /var/lib/mongo然后再重启即可
四、使用
mongo
show dbs;
## 查看数据库版本
> db.version();
## 常用命令帮助
> db.help();
卸载移除mongo
yum erase $(rpm -qa | grep mongodb-org)
移除数据库文件和日志文件
rm -r /var/log/mongodb
rm -r /var/lib/mongo
设置MongoDB密码
输入命令行mongo,进入mongodb环境
mongo
切换到 admin 数据库
use admin
给admin设置用户密码
user: 用户名
pwd: 用户密码
roles: 用来设置用户的权限,比如读,读写 等等
db.createUser({user: 'root', pwd: 'admin_mima', roles: ['root']})
验证是否添加成功,db.auth(用户名,用户密码)
db.auth('root', 'mima')
如果返回 '1’表示验证成功, 如果是 ‘0’ 表示验证失败。
刚才是给root设置密码,现在要给特定的每个库设置权限,比如demo库
切换到demo库
use demo
接下来为demo库添加一个用户,并且赋予权限,
db.createUser({ user: 'cccc', pwd: 'demo_mima', roles: [{ role: 'readWrite', db: 'demo' }] })
这行代码意思是 创建一个cccc用户 给予读写权限 db表示该用户操作的数据库名。
Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限
一切搞定,重新开机mongodb,通过增加 --auth 开启安全登录
mongod --auth
mongod --auth --config /etc/mongod.conf
不过、我不使用这种方式,我通过修改mongodb的配置文件来实现
bindIp修改为 0.0.0.0 允许外网访问
#开启验证
security:
authorization: enabled //冒号后面需要空一格
重启一下mongodb
其他方式启动MongoDB
mongod -f /etc/mongod.conf --fork --auth