基本環境操作
MongoDB 常用指令
基本啟動與終止
或是使用 mongod 並且可指定要用的 DB 位置
mongo預設使用27017port,所以如果要使用robomongo連線EC2上的mongo要先開aws 的port然後記得要在mongo加上auth不然大家都可以連線,很不安全
或是加上 logpath
# 創建使用者步驟
依序輸入以下指令
重新啟動並開啟認證登入
使用--auth後要記得到admin並用db.auth後才可執行其他操作
--dbpath 可以指定要用的 DB 資料夾
新增一個資料庫並且新增使用者(此時因為剛有登入admin所以可以新增使用者,但新增前無法添加資料)
新增資料至資料庫
存入資料後可看到db被新增進去了
查看現在所在的db名稱
查詢資料
顯示所有collection
之後連線字串為mongodb://youruser:yourpassword@localhost/yourdatabase
ex:
Dump 將 DB 資料導出備份
Restore 將備份檔案導入DB
# 指定可連線的IP
到config檔案設定
#自訂mongod.conf之config檔案
(因為使用mongod時不會和使用service啟動一樣自動使用/etc/mongod.conf的設定,需要手動加入--才會去使用config檔案)
參考至:
https://medium.com/@matteocontrini/how-to-setup-auth-in-mongodb-3-0-properly-86b60aeef7e8
>如果出現admin user not authorized()
https://stackoverflow.com/questions/35507182/creating-first-user-in-mongodb-3-2
P.S
1.用service的方式啟動無法用--dbpath指定資料夾路徑
2.用service無法輸入--auth需要打開/etc/mongod.conf並更改下列為如下
3.admin使用者預設可以連到所有db,如果連不進去通常是因為db上還沒有資料所以db還沒完全建立好,只要先使用admin新建資料庫(use)後在資料庫新增使用者(createUser)後使用該user登入(db.auth)然後新增資料,之後admin也可在該資料庫新增資料了
遠端連線mongoDB
https://ianlondon.github.io/blog/mongodb-auth/
# 讓進程保持--fork
(記得要指定logpath)
http://chenzhou123520.iteye.com/blog/1634676
注意事項
如果在第一次創建 user 使用
這樣會讓admin無法刪除DB,因為沒有權限
可以如下修改
如果忘記密碼
mongoerror-topology-was-destroyed
把 Node.js server 重啟即可
顯示相關 log
Last updated