寶塔面板使用MongoDB
技術標籤:MongoDB
轉載:2019年3月17日Yooer
首先寶塔後臺 安裝 MongoDB 安裝了之後 還必須要安裝元件 否則是不能使用的。
寶塔Linux 工具箱執行
pecl install mongodb
等待安裝。。。
預設情況下,執行以上命令,會安裝在版本最低的PHP環境中。
我們使用的只有PHP7.2,命令執行成功之後會自動在php.ini檔案中新增擴充套件。
如果沒有自動新增的可以根據命令執行完畢之後對應的地址進行手動新增。
在php配置項中
[Mongodb]
extension = /www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718/mongodb.so
重啟PHP 現在可以使用php連線Mongo了。
下面說一下 給mongodb 設定使用者賬號密碼登入
1、進入mongodb安裝目錄,下面是寶塔面板的預設目錄
cd /www/server/mongodb/bin
2、輸入命令列mongo,進入mongodb環境
mongo
3、切換到 admin 資料庫
use admin
4、給admin設定使用者密碼
user: 使用者名稱
pwd: 使用者密碼
roles: 用來設定使用者的許可權,比如讀,讀寫 等等
db.createUser({user: 'root', pwd: 'admin_mima', roles: ['root']})
5、驗證是否新增成功,db.auth(使用者名稱,使用者密碼)
db.auth('root', 'mima')
如果返回 ‘1’表示驗證成功, 如果是 ‘0’ 表示驗證失敗。
6、剛才是給root設定密碼,現在要給特定的每個庫設定許可權,比如demo庫
切換到demo庫
use demo
7、接下來為demo庫新增一個使用者,並且賦予許可權,
db.createUser({ user: 'cccc', pwd: 'rtgsd123hfsad45', roles: [{ role: 'dbOwner', db: 'cccc' }] })
修改一下 最近 有很多朋友看這篇文章, 我個人是直接給 dbOwner 這個許可權的。
readWrite 這個許可權好像有點不夠,個人習慣僅供參考
這行程式碼意思是 建立一個cccc使用者 給予讀寫許可權 db表示該使用者操作的資料庫名。
Read:允許使用者讀取指定資料庫
readWrite:允許使用者讀寫指定資料庫
dbAdmin:允許使用者在指定資料庫中執行管理函式,如索引建立、刪除,檢視統計或訪問system.profile
userAdmin:允許使用者向system.users集合寫入,可以找指定資料庫裡建立、刪除和管理使用者
clusterAdmin:只在admin資料庫中可用,賦予使用者所有分片和複製集相關函式的管理許可權。
readAnyDatabase:只在admin資料庫中可用,賦予使用者所有資料庫的讀許可權
readWriteAnyDatabase:只在admin資料庫中可用,賦予使用者所有資料庫的讀寫許可權
userAdminAnyDatabase:只在admin資料庫中可用,賦予使用者所有資料庫的userAdmin許可權
dbAdminAnyDatabase:只在admin資料庫中可用,賦予使用者所有資料庫的dbAdmin許可權。
root:只在admin資料庫中可用。超級賬號,超級許可權
8、一切搞定,重新開機mongodb,通過增加 –auth 開啟安全登入
mongod --dbpath /www/server/mongodb/data --auth
不過、我不使用這種方式,我通過修改mongodb的配置檔案來實現
原來的配置檔案

修改後的

bindIp修改為 0.0.0.0 允許外網訪問
authorization 修改為 enabled 開啟認證
重啟一下mongodb
最後再進行無密碼登入,對不起,不好意思了。
