0%

阿里云ECS安装配置MongoDB

安装

解压已上传的mongodb压缩包:

tar zxvf mongodb-linux-x86_64-rhel62-3.4.5.tgz

将解压后的文件夹移动至指定目录:

mv mongodb-linux-x86_64-rhel62-3.4.5/ /usr/local/mongodb

创建数据文件夹、日志文件和mongo配置文件:

mkdir -p  /usr/local/mongodb/data
touch /usr/local/mongodb/mongod.log
touch /usr/local/mongodb/mongodb.conf

修改配置文件:

vim /usr/local/mongodb/mongodb.conf
在配置文件中加入如下代码:
dbpath=/usr/local/mongodb/data
logpath=/usr/local/mongodb/mongod.log
logappend = true 
port = 27017 
fork = true 
auth = true

启动和关闭

进入到安装目录下:

cd /usr/local/mongodb/bin

启动:

./mongod --config /usr/local/mongodb/mongodb.conf

关闭:

./mongod -shutdown -dbpath=/usr/local/mongodb/data

配置

开放服务器端口:MongoDB一般运行在27017端口,因为阿里云的27017端口默认关闭,所以需要手动开启,进入阿里云-云服务器ECS-实例-管理-本实例安全组-配置规则-添加安全组规则

配置环境变量:

vim ~/.bashrc

在最后添加:

export PATH=$PATH:/usr/local/mongodb/bin

退出后记得使用source命令使设置生效:

source ~/.bashrc

如此可直接在命令行使用mongo连接mongo服务

mongodb相关操作

1.mongodb是没有默认管理员账号,所以要先添加管理员账号,在开启权限认证。
2.切换到admin数据库,添加的账号才是管理员账号。
3.用户只能在用户所在数据库登录,包括管理员账号。
4.管理员可以管理所有数据库,但是不能直接管理其他数据库,要先在admin数据库认证后才可以。这一点比较怪

添加用户:

use admin
db.createUser({user:"username",pwd:"password",roles:["root"]})
db.createUser({user:"username",pwd:"password",roles:[{ role:"权限",db:"数据库名称"}]})
---
MongoDB基本的角色:
1.数据库用户角色:read、readWrite;
2.数据库管理角色:dbAdmin、dbOwner、userAdmin;
3.集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4.备份恢复角色:backup、restore;
5.所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6.超级用户角色:root 

小提示:如果创建用户提示没有权限,可以先注释mongodb.conf 中 auth=true ,添加完用户后再取消注释,然后重启服务。

密码认证:

db.auth("username","password")

远程连接:

mongodb://username:password@IP地址:27017/数据库名称