MongoDB权限设置和Python的连接

之前搞了一下mongodb存储数据,用的是阿里云自己配制的mongodb,控制台总是因为mongodb没有配置好管理员用户而报风险提示。今天搞定了安全配置,并用python安全连接了一下。

  1. 添加root用户
    db.createUser( { user: “superuser”, pwd: “yourpwd”, roles: [ { role: “root”, db: “admin” } ] } )
  2. 修改配置文件 /etc/mongodb.conf
    set auth --> true
  3. restart mongodb
    sudo service mongodb restart
  4. 登入验证
    mongo -u admin -p admin --authenticationDatabase admin
    这里一定要输入–authen。。。参数–所使用的数据库,配置的时候这个参数也是不能少,其实root用户在使用admin数据库的时候已经默认拿到所有数据库的权限了,这样又是何必呢?!
    另一种连接方式:(不怕笑话,这玩意以前真的不知道)
    先进入 mongoDB 的 admin 资料库,再验证身份:
    cmd键入mongo
    然后

use admin //这一步很容易忘了,如果没有这一步,一通狂敲也不会给权限的
db.auth(“admin”, “admin”)

#参考
https://medium.com/@weiadeline/mongodb-%E6%AC%8A%E9%99%90%E8%A8%AD%E5%AE%9A-%E4%BD%BF%E7%94%A8-python-%E9%80%A3%E6%8E%A5-2edd1513e19e
返回值:1
再通过show dbs或其他命令验证,没有报错,通过。
5. Pyhton连接
有了方法二就可以Python连接mongodb了:
import pymongo
client = pymongo.MongoClient(‘localhost’,27017)
client.admin.authenticate(‘admin’,‘admin’)
#这里的返回值是Python的布尔数True
db = client[‘test’] #使用test数据库
collections = db[‘data’] #选择collection
没有报错,搞定。

编程菜鸟,请多指教!

你可能感兴趣的:(MongoDB权限设置和Python的连接)