本教程通过yum安装,环境为centos7。
先升级下curl :
yum update curl -y (否则会在安装过程中报错,升级下又不会怀孕)
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
:wq 保存退出
yum install -y mongodb-org
安装完毕后修改配置文件:默认是 127.0.0.1 修改为 0.0.0.0 允许远程连接
vi /etc/mongod.conf
启动:service mongod start
停止:service mongod stop
重启:service mongod restart
设置开机自启动:systemctl
enable
mongod (注意:如果发现命令无法使用,就手动输入命令)
查看mongoDB是否启动成功:
cat /var/log/mongodb/mongod.log
会看到类似以下的输出:
也可以通过 ps aux|grep mongod 来查看
1)创建root超级用户(通过该用户去给库添加用户和对应的 权限)
命令行输入mongo,进入mongodb环境
切换到admin库
use admin
创建root用户
db.createUser({user: 'root', pwd: 'xxxxxxxxxxx', roles: ['root']})
完成后退出mongo:
quit()
再次进入mongo环境, 选择admin库,查看是否可以登录
db.auth('root','xxxxxxxxxxx')
返回是1就是登录成功。
2)给具体的库添加用户,并授予权限。(mongodb的逻辑是:库可以添加用户,并给予这个用户特定的权限,这样就可以以这个用户的身份进行权限内的使用)
比如,我们给admin库添加一个用户admin,并给予他所有权限:
切换到admin库
use admin
接下来为admin库添加一个用户,并且赋予权限,
db.createUser({ user: 'admin', pwd: 'xxxxxxxxx', roles: [{ role: 'root', db: 'admin' }] })
这里的role: 'root' 意思是给这个用户的角色是root角色,对应这个admin库的所有权限。和我们上面说的root用户没半毛钱关系。
设置好后退出mongodb即可 quit()
这里的权限包括:
Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限
开启安全认证:
vi /etc/mongod.conf
找到“#security:”项,开启并在其下方添加:
security:
authorization: enabled
重启mongodb(没重启就不生效):service mongod restart
此时,就可以用你的账号链接mongodb了。
比如robo3T的连接:
要建立其他的库,也相应地给他加上用户和权限,数据库安全,绝对不容小视,谁用谁知道!!!!
进入mongo环境,use admin
登录root账号 db.auth('root','xxxx')
执行删除admin用户:db.dropUser('admin') 返回true即可
也可以执行删除所有的用户:db.dropAllUser() 删除当前库的所有用户
1、停止服务
service mongod stop
2、删除安装的包
yum erase $(rpm -qa | grep mongodb-org)
3、删除数据及日志
rm -r /var/log/mongodb
rm -r /var/lib/mongo
centos7完全卸载mongodb数据库_奥特曼下象棋的博客-CSDN博客_centos7 mongodb卸载
修改MongoDB密码_weixin_30832983的博客-CSDN博客
如果端口不是27017 ,那么,开启mongod的命令是:
mongod --port 27xxxx -f /etc/mongod.conf
在终端进入 mongo的命令是:
mongo --port 27xxx