阿里云(centos7)MongoDB的安装及远程连接配置

1、首先更新一下包吧,多更无害。

sudo yum -y update

2、在/etc/yum.repos.d 创建一个 mongodb-org.repo 文件

sudo touch /etc/yum.repos.d/mongodb-org.repo

3、编辑 mongodb-org.repo 文件

sudo vi /etc/yum.repos.d/mongodb-org.repo

4. vim /etc/yum.repos.d/mongodb-org.repo

[mongodb-org] 
name=MongoDB Repository 
baseurl=http://mirrors.aliyun.com/mongodb/yum/redhat/7Server/mongodb-org/3.2/x86_64/ 
gpgcheck=0 
enabled=1

5、安装MongoDB sudo yum install -y mongodb-org

service mongod start      #启动  
service mongod stop       #停止  

service mongod restart    #重启 

6. 阿里云安全组添加开放27017端口

7.修改mongodb配置文件:
vi /etc/mongod.conf   // 编辑配置文件

 net:
 port: 27017
 bindIp: 127.0.0.1 // mongodb 默认绑定的IP地址
默认情况下,阿里云只绑定了127.0.0.1本地地址,只能本地访问,需要在上面加上阿里云内网地址。

bindIp: 127.0.0.1,阿里云内网地址

现在就可以远程连接了,但是任何用户都能远程连接。

附:

看网上说这样不安全,任何用户只要获取了ip就都能访问,需要给数据库添加超级管理员

在阿里云服务器上输入

mongo     // 本地连接数据库
use admin    // 切换到admin数据库,没有会自动添加
db.createUser(   // 创建管理员用户
 {
 user: "admin",  // 账号
 pwd: "admin",  // 密码
 roles: [ { role: "root", db: "admin" } ] // 角色:超级管理员,数据库:admin
 }
)

service mongod restart    #重启 

执行
mongo      // 连接数据库
show dbs     // 显示所有数据库,这步会报错,说没有通过验证。
use admin     // 切换到admin数据库
db.auth('admin','admin') // 用上面设置的账号密码登录
如果返回 '1'表示验证成功, 如果是 '0' 表示验证失败
这样就本地电脑的cmd就要进行用户认证才能登录了
本地cmd输入
mongo 阿里云外网地址 -u "admin" -p "admin" --authenticationDatabase admin  

roboMongo:切换到Authorization选项,选中Perform authorization,填上Database, user name, password,就可以连接成功了(我不用设置这个还是能连???

mongodb不像mysql,验证的用户对所有数据库都有读写的能力,不同的库需要配置相关的用户信息才能对该库进行读写。比如有个myblog的数据库,需要对其有读写的能力,新建一个具有读写能力的用户。

命令如下:

mongo   // 连接数据库
use admin  // 切换到admin数据库
db.auth('admin','admin')  // auth验证登录
use myblog      // 切换到myblog数据库
db.createUser(   // 创建普通用户
 {
 user: "keen",  // 账号
 pwd: "123",  // 密码
 roles: [ { role: "readWrite", db: "myblog" } ] // 角色:读写,数据库:myblog
 }
)
db.auth('keen', '123')   // 使用新建用户keen验证登录



猜你喜欢

转载自blog.csdn.net/qq_34964399/article/details/80260782