標籤:user sys 一個 dmi 記錄 res tutorial /etc/ pwd
因為我覺得是在沒必要在這種破環節浪費時間,所以把具體步驟和遇到的問題列一下。
免得mongodb新手+linux新手遇到這樣的問題時浪費太多無意義的時間。
前言
對於一下的說明,如果有什麼問題,歡迎反饋。
為了可以讓自己有一個簡單的排查思路,我 簡述下常用到的幾個檔案:
1,/etc/mongod.conf
mongod的設定檔作用如:配置許可權管理方式,配置db的位置,配置日誌的位置等。
2,/usr/lib/systemd/system/mongod.service
mongod啟動服務的設定檔,作用如:配置啟動參數,啟動並執行user和group等。可以用於建立開機自起的服務。
3,/var/log/mongodb/mongod.log
mongod的記錄檔,一般錯誤都會在這裡找到原因和解決方案。
1,安裝Mongodb
1.1,去官網:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/
1.2,對英文沒自信,或者閱讀應為超慢的,看如下操作
1.2.1,執行Linux命令:vim /etc/yum.repos.d/mongodb-org-3.6.repo。目的是建立檔案 ,並編輯
1.2.2,執行Linux命令:yum install -y mongodb-org。目的是下載安裝Mongodb
1.2.3,執行Linux命令:mongod -f /etc/mongod.conf。目的 ,直接運行mongod服務,驗證Mongodb是否安裝成功
1.2.4,執行Linux命令:vim /etc/mongod.conf。目的是編輯Mongod服務的設定檔,使得外網可以訪問(vim不會的,直接百度)
1.2.4.1,修改bindId為0.0.0.0 (注意 ,冒號後面一定要有一個空格,否則會解析錯誤)
1.2.4.2,修改authorization為enabled (注意單詞不要拼錯)
1.2.4.3,執行命令ps -eaf | grep mongod,找到正在執行的Mongod服務,並用kill殺死。
1.2.4.4,執行mongod -f /etc/mongod.conf,重啟mongod服務。
1.2.5,執行Linux命令:mongo localhost :27017,目的是登入mongodb的shell。
1.2.6,執行use databaseName,然後隨便差一條記錄,目的是建立一個你要用的資料庫。
1.2.7,執行Linux命令:db.createUser({user:"userName",pwd:"password",roles:[{role:"dbAdmin",db:"databaseName"}]})。目的是建立一個使用者
1.2.8,執行LInux命令:exit,目的是退出當前視窗,用新建立的帳號登入。
1.2.9,執行Linux命令:mongo localhost:27017/databaseName -u userName -p password。注意將databaseName,userName,password替換成真實的資料。目的 是登入mongodb視窗。
1.2.10,如果登入成功,可以嘗試遠程登入,應該沒問題。(前提是得有公網IP/網域名稱)
(以上,一旦出現錯誤,第一時間查看錯誤,查看日誌,多方面驗證。不要被問題嚇住。應為這種事情本身就沒什麼邏輯,沒有想通的地方,也沒必要糾結。)
查看日誌指令碼:cat /var/log/mongodb/mongod.log
遇到的坑
1,Address already in use linux
原因:連接埠佔用
解決方案:ps命令,查看佔用程式,kill掉
2,LoaderExceptions
原因:設定檔,冒號後面少了個空格
解決方案:到設定檔中,修改掉,重啟服務就好了
3, Unable to lock the lock file: /var/lib/mongo/mongod.lock
原因:檔案鎖住了,無法複製
解決方案:直接刪掉就好了
Mongodb在Centos上的安裝,配置,與外網訪問