CentOS7安装部署MongoDB
1.下载
官方下载地址:https://www.mongodb.com/download-center/community
2.解压
tar -zxvf mongodb-linux-x86_64-rhel70-5.0.3.tgz
3.配置环境变量
vi /etc/profile
在配置文件中添加如下内容(路径应对应mongodb安装路径)
export MONGODB_HOME=/opt/mongodb-linux-x86_64-rhel70-5.0.3 export PATH=$PATH:${MONGODB_HOME}/bin
记得使环境变量生效
source /etc/profile
4.相关配置
创建db目录和log目录
cd /opt/mongodb-linux-x86_64-rhel70-5.0.3 mkdir -p ./data/db mkdir -p ./logs touch ./logs/mongodb.log
创建mongodb.conf配置文件,内容如下(路径应对应之前创建的db/log目录):
#端口号 port=27017 #db目录 dbpath=/opt/mongodb-linux-x86_64-rhel70-5.0.3/data/db #日志目录 logpath=/opt/mongodb-linux-x86_64-rhel70-5.0.3/logs/mongodb.log #后台 fork=true #日志输出 logappend=true #允许远程IP连接 bind_ip=0.0.0.0
5.启动测试
mongod --config mongodb.conf
mongo
连接成功!
6.设置开机自启动
编辑开机启动文件
vi /etc/rc.d/rc.local
加入如下语句,以便启动时执行:
mongod --config /opt/mongodb-linux-x86_64-rhel70-5.0.3/mongodb.conf #mongodb.conf修改为对应路径
可以重启服务器,检测是否设置成功:
7.设置用户名、密码与数据库连接
通过向表admin中添加用户来设置
如添加root用户:
use admin db.createUser({ user: 'root', // 用户名 pwd: '12345678', // 密码 roles:[{ role: 'root', // 角色 db: 'admin' // 数据库 }] })
查看是否创建成功:
show users;
在mongodb.conf配置文件中开启验证,添加如下语句:
auth=true
重启MongoDB验证是否设置成功:
显示连接成功,但是当我们输入其他指令时,会提示没有权限
登录数据库:
// 方式一 mongo use admin db.auth('root', '12345678') // 方式二 mongo admin -uroot -p12345678
这时候我们就可以正常访问和操作数据了。
除了可以设置数据库的超级管理员以外,还可以给每个数据库设置单独的管理员。其只有操作单独数据的一定权限。
use test // 如果数据库不存在,则创建数据库,否则切换到指定数据库 db.createUser({ user: 'testadmin', // 用户名 pwd: '12345678', // 密码 roles:[{ role: 'readWrite', // 角色 db: 'test' // 数据库名 }] })
随便用一个MongoDB可视化工具访问测试是否连接成功(如MongoDB Compass\NoSQLBooster for MongoDB)
连接成功:
常用命令:
show users // 查看当前库下的用户 db.dropUser('testadmin') // 删除用户 db.updateUser('root', {pwd: '87654321'}) // 修改用户密码 db.auth('root', '87654321') // 密码认证
MongoDB 数据库默认角色
1 数据库用户角色:read、readWrite 2 数据库管理角色:dbAdmin、dbOwner、userAdmin 3 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager 4 备份恢复角色:backup、restore 5 所有数据库角色: readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase 6 超级用户角色:root