MongoDB在centos下的安装和配置端口密码的方法

一、安装环境

  1. centos7 64位
  2. MongoDB 3.4版本
  3. 采用yum安装

二、建立一个yum

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

三、安装MongoDB以及相关工具

sudo yum install -y mongodb-org

四、启动/停止MongoDB

启动MongoDB

sudo service mongod start

停止MongoDB

sudo service mongod stop

五、更改配置文件

vi  /etc/mongod.conf

更改第28行 port 2701为你需要更改的端口(这是MongoDB默认的监听端口)

更改第29行 bindIp: 127.0.0.1为0.0.0.0(MongoDB默认只能本地访问)PS:个人建议此处添加你需要连接MongoDB服务器的IP地址、而不是改成0.0.0.0。这样做会更安全

按照配置文件 /etc/mongod.conf启动MongoDB

mongod --config /etc/mongod.conf

启动成功,这样外网就可以访问MongoDB,由于mongoDb默认是不需要账号密码访问的,从安全的角度考虑,我们应该给MongoDB加上密码

六、添加账号密码

打开MongoDB的客户端,代码中的IP和端口是默认的,你可以改为你们自己刚才设置的

mongo 127.0.0.1:27017
use admin
db.createUser({user: "admin",pwd: "admin",roles: [ { role: "readWriteAnyDatabase", db: "admin" } ]})

role的权限可参考,上面例子中采用的是权限是 readWriteAnyDatabase

All build-in Roles 
Database User Roles: read|readWrite
数据库用户角色:读|读写
Database Admion Roles: dbAdmin|dbOwner|userAdmin
数据库管理角色:数据库管理员|数据库所有者|用户管理
Cluster Admin Roles: clusterAdmin|clusterManager|clusterMonitor|hostManager
集群管理角色:
Backup and Restoration Roles: backup|restore
All-Database Roles: readAnyDatabase|readWriteAnyDatabase|userAdminAnyDatabase|dbAdminAnyDatabase
所有数据库角色:读所有数据库|读写所有数据库|所有数据库的用户管理员|所有数据库的管理员
Superuser Roles: root

退出客户端

exit

结束MongoDB进程

ps -e | grep mongod

找到进程,然后kill掉进程

带认证模式开启Mongod

mongod --auth --config /etc/mongod.conf

加入开机自启动

echo "mongod --auth --config /etc/mongod.conf" >> /etc/rc.local

七、带账号密码链接MongoDB

mongo 127.0.0.1:27017
use admin
db.auth("账号","密码")

好了,现在我们可以带通过账号密码的方式链接MongoDb了
通过python的链接方式为

# -*- coding:utf-8 -*-
 
from pymongo import MongoClient
 
conn = MongoClient('mongodb://账号:密码@ip:端口/admin')
db = conn.mydb  #链接mydb数据库,没有则创建
my_set = db.test_set #打开test_set集合,没有则创建
my_set.insert({"name":"zhangsan","age":18}) #写入这行文档

参考文档

  1. https://docs.mongodb.com/master/tutorial/install-mongodb-on-red-hat/
  2. http://cuiqingcai.com/4020.html

发表评论