linux mongodb安裝和配置啟動圖文詳解


一.前期准備

  1. Win10環境下 官網下載Mongodb包 https://www.mongodb.com/download-center?jmp=nav
    本文使用 https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-amazon-3.6.2.tgz
  2. 上傳mongodb包至linux服務器
    具體放置到目錄:/opt/software

二.mongodb安裝和配置

解壓和復制mongodb至目錄 /usr/local/mongodb
cd /opt/software
tar -zxvf mongodb-linux-x86_64-amazon-3.6.2.tgz
cp -r mongodb-linux-x86_64-amazon-3.6.2 /usr/local/mongodb

2.1 系統profile配置
vi /etc/profile
export MONGODB_HOME=/usr/local/mongodb
export PATH=$PATH:$MONGODB_HOME/bin
保存后,重啟系統配置
source /etc/profile
終端查看輸入$PATH 是否有全局

2.2 mongodb啟動配置
vi /etc/mongodb.conf --新建配置文件 目錄可以定義
拷貝份 官方配置

storage:
  dbPath: /data/mongodb/data/db   #n你的數據庫目錄 需要自己建
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# how the process runs
processManagement:
  fork: true  # fork and run in background
 # pidFilePath: /var/run/mongodb/mongod.pid  # location of pidfile
 # timeZoneInfo: /usr/share/zoneinfo

# network interfaces
net:
  port: 27017 
  bindIpAll: true                                     #所有ip都可以 方便遠程訪問
 # bindIp: 127.0.0.1 #to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.

security:
  authorization: disabled  #disabled enabled  啟用密碼 默認為disabled 因為沒有root賬號

按個人喜好修改配置 並且保存

三.mongodb測試

3.1 啟動mongod數據庫服務
mongod -f /etc/mongodb.conf --這里的conf文件是相對路徑 如果不在bin目錄下 請輸入絕對
3.2 進入mongodb數據庫
mongo

如打印信息說明成功 pidof mongod 可以驗證 或者top看

3.3 插入1個數據
use lalala

db.test.insert({title:'哈哈',Tags:['anime','game']});

show collections

db.test.find()

show dbs -- 只有有東西才顯示 默認test沒東西所以你看不到

四 建立root賬號

mongo 默認誰都可以訪問修改 但只有本地 所以我們要配置下

use 哪個就是用哪個數據庫 沒有就新建 mongo默認會生成一些數據庫 如 admin ,config

show dbs -- 看看有哪些數據庫

use admin

db.createUser({user:"root",pwd:"123456",roles:["root","userAdminAnyDatabase"]}) -- 建立root並且分配角色

db.system.users.find() -- 查看系統的用戶

如果有了就exit 出去 在mongodb.conf里 authorization為enabled

mongod --shutdown -f /etc/mongodb.conf --關閉服務

mongod -f /etc/mongodb.conf --開啟服務

show dbs - 報錯 不可以以匿名方式顯示

use admin

db.auth("root","123456") -- 注意引號 他是個字符串

返回1 說明身份通過你的身份就是root

use nana -- 以root的身份建立個nana數據庫

db.createUser({user:'admin',pwd:'123456', roles: [ "readWrite", "dbAdmin" ]}) -- 為nana創建個管理員用戶admin

show users -- 看用戶

db.logout() -- 登出root 或者exit

db.websize.insert({title:'哈哈',Tags:['anime','game']}); -- 沒權限

db.auth("admin","123456") -- 用nana的admin

db.websize.insert({title:'dorodoroLab',Tags:['dorodro','lab']}); -- 這次有權限

db.websize.find() --插入成功

這里要注意的是 createUser 根據 use在哪個數據庫 show users信息就生成在哪 不然通過db.auth可能找不到 下面命令也一樣
db.grantRolesToUser( "admin" , [ "readWrite", "dbAdmin","useAdmin" ]) -- 用戶新授權 也可以用db.updateUser
db.dropUser('admin') --刪除用戶
root用戶可以使用admin全局管理用戶 通過db.system.users.find() db.system.users.remove()
如果懶的記請用 db.help() 去看

五.mongodb開機啟動

5.1設置mongodb.service啟動服務

cd /lib/systemd/system

vi mongodb.service

[Unit]  
Description=mongodb  
After=network.target remote-fs.target nss-lookup.target  
  
[Service]  
Type=forking  
RuntimeDirectory=mongodb
RuntimeDirectoryMode=0751
PIDFile=/var/run/mongodb/mongod.pid
ExecStart=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/bin/mongodb.conf  
ExecStop=/usr/local/mongodb/bin/mongod --shutdown --config /usr/local/mongodb/bin/mongodb.conf  
PrivateTmp=false  
  
[Install]  
WantedBy=multi-user.target

5.2 設置mongodb.service權限
chmod 754 mongodb.service

systemctl daemon-reload

5.3 系統mongodb.service操作命令
啟動服務
systemctl start mongodb.service
關閉服務
systemctl stop mongodb.service
開機啟動
systemctl enable mongodb.service

5.4 mongodb.service啟動測試
mongo 127.0.0.1

如果主機連虛擬機 請不要用bindIp的默認的localhost ,另外防火牆打開27017端口 這樣客戶端可以連接
客戶端工具 Robo 3T
官方文檔
權限文檔


免責聲明!

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



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