CentOS7配置教程(七)安装MongoDB并远程连接

(全文验证通过 20180912)

安装方法有三种

1、下载tar.gz包解压安装,查看:https://blog.csdn.net/wqc19920906/article/details/80998777

2、用下面命令直接安装,不过这个安装的是老版本2.6的

yum  -y  install  mongodb  mongodb-devel  mongodb-server

3、就是本文的安装方式

一、安装

1、是否已安装MongoDB

rpm -qa | grep mongodb

2、yum list mongodb 查看是否有MongoDB源,CentOS7的源位置在/etc/yum.repos.d/,如图:

如果没有MongoDB的源,则进行添加,vi /etc/yum.repos.d/mongodb-org-3.6.repo 

[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc

3、安装MongoDB

yum -y install mongodb-org

这个过程好久啊,阿里云的服务器都那么久,见图

 

4、启动MongoDB

service mongod start 

5、 在本机的cmd中连接MongoDB (本机默认配置可省略参数)

mongo --host 127.0.0.1:27017

或者直接 mongo就行

 6、查看mongodb中的库,在执行第5步后,在cmd中输入下面命令:

show dbs

7、开机启动

chkconfig mongod on

8、停止服务

service mongod stop

 9、重启服务

service mongod restart

10、查看服务状态

service mongod status

11、卸载MongoDB

11.1 先停止服务

service mongod stop

11.2 删除安装包

yum erase $(rpm -qa | grep mongodb-org)

11.3 删除数据目录

rm -r /var/log/mongodb

rm -r /var/lib/mongo

 

二、mongodb设置密码

mongodb的用户名和密码是基于特定数据库的,而不是基于整个系统的。所有所有数据库db都需要设置密码

MongoDB 默认安装完成以后,只允许本地连接(改了bindIP后,可以其它计算机访问),同时不需要使用任何账号密码就可以直接连接MongoDB,这样就容易被黑

设置步骤:

1、进入mongodb命令行界面

mongo 或者 mongo 127.0.0.1:27017

2、查看数据库

show dbs  #在mongodb新版本里并没有admin数据库,但是并不妨碍第3步操作

3、进入admin数据库

use admin

4、创建管理员账户

db.createUser(
  {
    user: "abc",
    pwd: "aaa@bbb",
    roles: [ { role: "root", db: "admin" } ]
  }
)

roles中的role可以是以下

5、验证第3步用户添加是否成功

db.auth("useradmin", "adminpassword") #如果返回1,则表示成功。
exit #退出系统

db.auth()方法理解为 用户的验证功能

6、修改配置

vi /etc/mongod.conf

找到#security: 取消注释,修改为

security:
  authorization: enabled #注意缩进,缩进参照配置文件其他配置。缩进错误可能第6步重启不成功。

7、重启mongodb

service mongod restart

8、进入mongodb

用第3步的 管理员账户登录,用该账户创建其他数据库管理员账号

use admin
db.auth("abc", "aaa@bbb")

9、新建你需要管理的mongodb 数据库的账号密码

每个数据库都要有独立的密码...

use yourdatabase
db.createUser({ user: "youruser", pwd: "yourpassword", roles: [{ role: "dbOwner", db: "yourdatabase" }] })

新建读写账户

use yourdatabase
db.createUser({ user: "youruser2", pwd: "yourpassword2", roles: [{ role: "readWrite", db: "yourdatabase" }] })

比如,用NoSQLBooster fro MongoDB 连接服务器,就需要用这个新建的user password重新登录,并填写好db为yourdatabase,而不是admin 即可

10、现在数据的用户名和密码就建好了。

可以使用:mongodb://youruser2:yourpassword2@localhost/yourdatabase来链接

 

三、windows机器通过 NoSQLBooster for MongoDB  连接CentOS7上的MongoDB

设置mongodb远程访问:需要防火墙放开端口 27017


编辑mongod.conf将bindIp的值改为红线那样的,并重启mongodb.(注意,最好不要信了红线后面的注释把bindIp给注释掉,会使外网访问不了,这个坑搞死我了...)
vim /etc/mongod.conf

 

重启mongodb:systemctl restart mongod.service

如果安装第二部分 设置了用户名密码,则需要

 

 

四、通过命令行连接MongoDB

先看第三点的修改mongodb.conf的内容,才能进行一下操作

1、MongoDB连接远程服务器的命令格式如下:

mongo 远程主机ip或DNS:MongoDB端口号/数据库名 -u user -p password  #password可加可不加双引号

或者:

先用 mongo ip:port 连接上,然后再用 db.auth(user, password)。

2、MongoDB连接远程服务器的命令示例代码如下:
//使用默认端口连接MongoDB
       mongo 192.168.1.100


//连接MongoDB并指定端口
        mongo 192.168.1.100:27017


//连接到指定的MongoDB数据库
        mongo 192.168.1.100:27017/test


//指定用户名和密码连接到指定的MongoDB数据库
        mongo 192.168.1.200:27017/test -u user -p password

 

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值