linux(CentOS 7.0)安装MongoDB数据库、利用python工具pymongo连接MongoDB数据

环境:CentOS 7.0

MongoDB版本:version v3.4.15

python 版本:3.6


利用yum工具安装MongoDB数据库:

首先,添加MongoDB源:

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

接着修改如下内容并保存:

[mongodb-org-3.4]
name=MongoDB Repository
baserurl=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

然后执行命令:

sudo yum install mongodb-org

创建MongoDB数据库保存路径:

mkdir /data/db

运行MongoDB并设置数据文件保存路径:

mongo --port 27017 --dbpath /data/db

下面开始配置远程连接以及用户名和密码:

首先进入MongoDB命令行:

mongo --port 27017

在MongoDB命令行交互模式下,执行如下命令:

>usr admin
switched to db admin
>db.createUser({user:"admin",pwd:"admin",roles:[{role:"root",db:"admin"}]})
Successfully addes user:{
  "user":"admin",
  "roles":[
    {
      "role":"root",
      "db":"admin"
    }
  ]
}

这里我们创建了一个用户名为admin,密码为admin的用户,权限为root

下面配置MongoDB的配置文件,执行如下命令:

sudo vi /etc/mongod.conf

修改net部分:

net:
  port: 27017
  bindIp: 0.0.0.0

添加如下的权限认证配置:

security:
  authorization:enabled

这样远程连接和权限认证配置完成,但是还是不能远程连接的,还需要修改linux的firewall策略:

[root@localhost etc]# firewall-cmd --zone=public --add-port=27017/tcp           # 修改firewall规则
success
[root@localhost etc]# firewall-cmd --permanent --zone=public --add-port=27017/tcp
success
[root@localhost etc]# firewall-cmd --reload      # 永久保存
success

python连接数据库并插入数据:

import pymongo

# 连接数据库:
# 方法一:
client = pymongo.MongoClient('mongodb://admin:[email protected]:27017/')
# 方法二:
# client = pymongo.MongoClient(host='192.168.1.106', port=27017)

# 指定数据库:
# 方法一:
db = client.test
# 方法二:
# db = client["test"]

# 制定集合:
# collection =  db.students
collection = db["students"]

student = {
    "id": "10180101",
    "name": "jorden",
    "age": 20,
    "gender": "male"
}

result = collection.insert_one(student)
print(result)

结果(MongoDB的一个ObjectId类型的_id属性):

<pymongo.results.InsertOneResult object at 0x0535F530>



猜你喜欢

转载自blog.csdn.net/cn_honor/article/details/80691241
今日推荐