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:admin@192.168.1.106: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>



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值