本安裝教程系統版本爲Linux Centos 7,使用Yum源安裝MongoDBlinux
使用 歸納幾個經常使用的:mongodb
// 1 安裝
yum install package // 安裝指定的安裝包package
// 2 更新和升級
yum update // 所有更新
yum update package // 更新指定程序包package
yum check-update // 檢查可更新的程序
yum upgrade package // 升級指定程序包package
// 3 查找和顯示
yum info // 列出全部能夠安裝或更新的包的信息
yum info package //顯示安裝包信息package
yum list // 顯示全部已經安裝和能夠安裝的程序包
yum list package // 顯示指定程序包安裝狀況package
yum search package // 搜索匹配特定字符的package的詳細信息
// 4 刪除程序
yum remove | erase package // 刪除程序包package
yum deplist package // 查看程序package依賴狀況
// 5 清除緩存
yum clean packages // 清除緩存目錄下的軟件包
yum clean headers // 清除緩存目錄下的 headers
yum clean oldheaders // 清除緩存目錄下舊的 headers
yum clean, yum clean all // (= yum clean packages; yum clean oldheaders) 清除緩存目錄下的軟件包及舊的headers
複製代碼
vi /etc/yum.repos.d/mongodb-org-4.0.repo
複製代碼
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/#releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
複製代碼
詳解:數據庫
name # 名稱
baseurl # 得到下載的路徑
gpkcheck=1 # 表示對從這個源下載的rpm包進行校驗;
enable=1 # 表示啓用這個源。
gpgkey # gpg驗證
複製代碼
wq # 退出保存
複製代碼
sudo yum install -y mongodb-org
複製代碼
rpm -qa |grep mongodb
複製代碼
rpm -ql mongodb-org-server
複製代碼
啓動MongoDB服務ubuntu
systemctl start mongod.service
複製代碼
MongoDB默認端口是27017,查看是否開啓緩存
netstat -natp | grep 27017
複製代碼
檢查數據庫是否安裝成功bash
ps -aux | grep mongod # 查看數據庫的進程是否存在
複製代碼
mongo
複製代碼
// 一、開啓MongoDB
sudo service mongod start 或者 systemctl start mongod.service # 開啓MongoDB
sudo chkconfig mongod on # 加入開機啓動
sudo service mongod restart # 重啓MongoDB
// 二、關閉MongoDB
sudo service mongod stop # 關閉防火牆
// 三、卸載MongoDB
sudo yum erase $(rpm -qa | grep mongodb-org) # 卸載MongoDB
sudo rm -r /var/log/mongodb # 刪除日誌文件
sudo rm -r /var/lib/mongo # 刪除數據文件
複製代碼
vi /etc/mongod.conf
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.
複製代碼
修改綁定ip默認127.0.0.1只容許本地鏈接, 因此修改成bindIp:0.0.0.0, 退出保存tcp
sudo service mongod restart
複製代碼
方法一mongoose
systemctl status firewalld # 查看防火牆狀態
firewall-cmd --zone=public --add-port=27017/tcp --permanent # mongodb默認端口號
firewall-cmd --reload # 從新加載防火牆
firewall-cmd --zone=public --query-port=27017/tcp # 查看端口號是否開放成功,輸出yes開放成功,no則失敗
複製代碼
方法二函數
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 27017 -j ACCEPT
複製代碼
默認鏈接ui
mongo 10.128.218.14:27017
複製代碼
鏈接到自定義的用戶
// admin數據庫
> use admin
switched to db admin
> db.createUser({ user:"root", pwd:"123456", roles:["root"] })
Successfully added user: { "user" : "root", "roles" : [ "root" ] }
// 其餘數據庫
> use test
switched to db test
> db.createUser({ user:"admin", pwd:"123456", roles:["readWrite", "dbAdmin"] })
Successfully added user: { "user" : "root", "roles" : [ "root" ] }
複製代碼
vi /etc/mongod.conf
security:
authorization: "enabled" # disable or enabled
複製代碼
sudo service mongod restart
複製代碼
> use admin
switched to db admin
> db.auth("root", "123456")
1 // 受權成功
複製代碼
// 其餘經常使用命令
db.updateUser(user, writeConcern) # 更新用戶
db.dropUser('test') # 刪除用戶
複製代碼
// 終端鏈接
mongo 10.128.218.14:27017:27017/database -u username -p password
// mongoose方式鏈接
mongoose.connect('mongodb://username:password@host:port/database?options...', {useNewUrlParser: true});
// 經過客戶端鏈接
複製代碼
規則 | 說明 |
---|---|
root | 只在admin數據庫中可用。超級帳號,超級權限 |
Read | 容許用戶讀取指定數據庫 |
readWrite | 容許用戶讀寫指定數據庫 |
dbAdmin | 容許用戶在指定數據庫中執行管理函數,如索引建立、刪除,查看統計或訪問system.profile |
userAdmin | 容許用戶向system.users集合寫入,能夠找指定數據庫裏建立、刪除和管理用戶 |
clusterAdmin | 只在admin數據庫中可用,賦予用戶全部分片和複製集相關函數的管理權限 |
readAnyDatabase | 只在admin數據庫中可用,賦予用戶全部數據庫的讀權限 |
readWriteAnyDatabase | 只在admin數據庫中可用,賦予用戶全部數據庫的讀寫權限 |
userAdminAnyDatabase | 只在admin數據庫中可用,賦予用戶全部數據庫的userAdmin權限 |
dbAdminAnyDatabase | 只在admin數據庫中可用,賦予用戶全部數據庫的dbAdmin權限 |