0.目的
下載MongoDB並安裝,設置密碼訪問。
MongoDB官網會下載以下三個安裝包
mongodb-org-server-4.2.2-1.el6.x86_64.rpm #MongoDB的服務,配置文件,啓動腳本
mongodb-org-shell-4.2.2-1.el6.x86_64.rpm #包含mongo操作相關的shell命令
mongodb-org-tools-4.2.2-1.el6.x86_64.rpm #對MongoDB進行備份,分析的工具集
1.安裝server
# rpm -ivh mongodb-org-server-4.2.2-1.el6.x86_64.rpm
# /etc/init.d/mongod start
starting mongod: [OK]
2.安裝命令行用來登錄mongodb
# rpm -ivh mongodb-org-shell-4.2.2-1.el6.x86_64.rpm
# mongo
> show dbs;
admin 0.000GB
config 0.000GB
local 0.000GB
3.設置MongoDB的管理員密碼
> use admin
switched to db admin
> db.createUser({ user: "admin", pwd: "test123", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
Successfully added user: {
"user" : "admin_root",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
##驗證登錄,如果返回1,則證明密碼生效
> db.auth("admin", "test123")
1
4.創建一個db庫test,並分配賬號和密碼****
#登錄管理員
> use admin
> db.auth("admin","test123")
#創建test庫
> use test
> db.createUser({ user: "test", pwd: "test123", roles: [{ role: "dbOwner", db: "test" }] })
Successfully added user: {
"user" : "test",
"roles" : [
{
"role" : "dbOwner",
"db" : "test"
}
]
}
#程序調用以下鏈接即可:mongodb://test:test123@localhost/test
運維中無法啓動的一些故障
1.服務restart後,會出現無法開啓的問題,查找日誌如下
# /etc/init.d/mongod start
starting mongod: [FAILED]
# tail -f /var/log/mongdb/mongod.log
2019-12-25T10:43:44.336+0800 I CONTROL [initandlisten] distarch: x86_64
2019-12-25T10:43:44.336+0800 I CONTROL [initandlisten] target_arch: x86_64
2019-12-25T10:43:44.336+0800 I CONTROL [initandlisten] options: { config: "/etc/mongod.conf", net: { bindIp: "127.0.0.1", port: 27017 }, processManagement: { fork: true, pidFilePath: "/var/run/mongodb/mongod.pid", timeZoneInfo: "/usr/share/zoneinfo" }, storage: { dbPath: "/var/lib/mongo", journal: { enabled: true } }, systemLog: { destination: "file", logAppend: true, path: "/var/log/mongodb/mongod.log" } }
2019-12-25T10:43:44.336+0800 E NETWORK [initandlisten] Failed to unlink socket file /tmp/mongodb-27017.sock Operation not permitted
2019-12-25T10:43:44.336+0800 F - [initandlisten] Fatal Assertion 40486 at src/mongo/transport/transport_layer_asio.cpp 693
2019-12-25T10:43:44.336+0800 F - [initandlisten]
***aborting after fassert() failure
解決方法:
# rm -fr /tmp/mongodb-27017.sock
# /etc/init.d/mongod start
starting mongod: [OK]