Linux\Centos 7安裝MongoDB(簡單/詳細)


本安裝教程系統版本為Linux Centos 7,使用Yum源安裝MongoDB

Yum源

使用 概括幾個常用的:

// 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
復制代碼

安裝Mongodb

配置系統yum源

1. 創建.repo文件,生成mongodb的源

vi /etc/yum.repos.d/mongodb-org-4.0.repo
復制代碼

2. 添加以下配置信息:

[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

[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驗證
復制代碼

3. 保存退出

wq # 退出保存
復制代碼

使用yum安裝MongoDB

1. 安裝MongoDB

sudo yum install -y mongodb-org
復制代碼

安裝MongoDB

2. 驗證安裝結果

rpm -qa |grep mongodb
復制代碼
rpm -ql mongodb-org-server
復制代碼

驗證安裝結果

3. 啟動MongoDB

啟動MongoDB服務

systemctl start mongod.service
復制代碼

MongoDB默認端口是27017,查看是否開啟

netstat -natp | grep 27017
復制代碼

檢查數據庫是否安裝成功

ps -aux | grep mongod    # 查看數據庫的進程是否存在
復制代碼

啟動MongoDB

4. 驗證服務開啟

mongo
復制代碼

驗證服務開啟

常用命令清單

// 1、開啟MongoDB
sudo service mongod start  或者 systemctl start mongod.service  # 開啟MongoDB
sudo chkconfig mongod on  # 加入開機啟動
sudo service mongod restart # 重啟MongoDB

// 2、關閉MongoDB
sudo service mongod stop  # 關閉防火牆

// 3、卸載MongoDB
sudo yum erase $(rpm -qa | grep mongodb-org)    # 卸載MongoDB
sudo rm -r /var/log/mongodb  # 刪除日志文件
sudo rm -r /var/lib/mongo    # 刪除數據文件
復制代碼

遠程連接Mongodb

1. 修改配置文件mongodb.conf

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, 退出保存

2. 重啟mongodb服務

sudo service mongod restart 
復制代碼

3. 開放對外端口

方法一

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
復制代碼

4. 遠程連接

默認連接

mongo 10.128.218.14:27017
復制代碼

連接到自定義的用戶

  1. 創建用戶,設置賬號,密碼,權限
// 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" ] }
復制代碼
  1. 修改mongodb.conf文件,啟用身份驗證
vi /etc/mongod.conf

security:
  authorization: "enabled"   # disable or enabled
復制代碼
  1. 重啟MongoDB
sudo service mongod restart 
復制代碼
  1. 用戶認證
> use admin
switched to db admin
> db.auth("root", "123456")
1 // 授權成功
復制代碼
// 其他常用命令
db.updateUser(user, writeConcern) # 更新用戶
db.dropUser('test') # 刪除用戶
復制代碼
  1. 遠程連接
// 終端連接
mongo 10.128.218.14: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權限

參考文獻

轉:
https://juejin.im/post/6844903828811153421

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM