pymongo 密碼登陸問題

2021-08-21 21:59:37 字數 957 閱讀 9238

之前開發環境 mongodb 是不加密的,但是為了安全現在加了密。加密之後, python 指令碼驗證就出了錯,老是報 

pymongo.errors.operationfailure: command son([('authenticate', 1), ('user', u'root'), ('nonce', u'd241d9ac68d60c23'), ('key', u'faf58ba5fa56b301811e188048e0a5bf')]) failed: auth failed

然後找了一通,發現是版本問題。

錯誤的環境是, python 2.6 + pymongo 2.6 + mongodb 3.6 ,然後我就改了一下驗證方式

dbs.authenticate("root","1234560.") 

改為:dbs.authenticate("root","1234560.", "mongodb-cr") 

然後發現報錯:

pymongo.errors.configurati: authmechanism must be in frozenset(['plain', 'mongodb-cr', 'gssapi', 'mongodb-x509'])

看了一下 官方文件

mongo2.7及以下的版本,使用者認證加密方式預設是「mongodb-cr」,而mongodb3之後的使用者認證加密方式預設改為「scram-sha-1」,而舊版本的mongo driver(即pymongo)是不支援「scram-sha-1」這種加密方式,需要更新到2.8以後版本的pymongo才支援。

所以,把 pymongo 公升級到 3.8,就行了,也不用指定驗證方式,直接  dbs.authenticate("root","1234560.")  就行。

phpMyadmin密碼問題無法登陸

1 首先確認伺服器出於安全的狀態,也就是沒有人能夠任意地連線mysql資料庫。因為在重新設定mysql的root密碼的期間,mysql資料庫完全出於沒有密碼保護的 狀態下,其他的使用者也可以任意地登入和修改mysql的資訊。可以採用將mysql對 外的埠封閉,並且停止apache以及所有的使用者程序...

mysql登陸找回密碼 MySql登陸密碼找回

在windows下 開啟命令列視窗,停止mysql服務 net stop mysql 啟動mysql,一般到mysql的安裝路徑,找到 mysqld nt.exe 或mysqld.exe 執行 mysqld nt 或mysqld.exe skip grant tables 當前視窗將會停止。另外開啟...

無密碼登陸

server a b 以root賬戶在a上無密碼ssh到b 方式一 on a ssh keygen t dsa p f ssh id dsa cat ssh id dsa.pub ssh authorized keys chmod 644 ssh authorized keys service ss...