MongoDB單節點部署與基本操作

难止汗發表於2024-09-05

MongoDB 7.0 單節點部署 與 MongoDB shell基本操作

部署準備:

  1、作業系統:CentOS7.9

  2、在作業系統中,建立一個mongod的使用者和使用者組,並配置其sudo許可權,如果使用root使用者可以不考慮準備此項。

  3、mongodb服務二進位制包:mongodb-linux-x86_64-rhel70-7.0.14.tgz 。 下載地址:https://www.mongodb.com/try/download/community

  4、mongodb shell二進位制包:mongosh-2.3.0-linux-x64.tgz。下載地址:https://www.mongodb.com/try/download/shell

  

部署mongodb

  1、解壓mongodb服務包,移動至/data

sudo tar zxf mongodb-linux-x86_64-rhel70-7.0.14.tgz 
sudo mv mongodb-linux-x86_64-rhel70-7.0.14 /data/mongodb

  2、建立資料目錄和日誌目錄

sudo mkdir /data/mongodb/{data,logs}

  3、建立配置檔案

cat > /data/mongodb/mongodb.conf <<EOF
storage:
   dbPath: "/data/mongodb/data"
systemLog:
   destination: file
   path: "/data/mongodb/logs/mongod.log"
   logAppend: true
processManagement:
   fork: true
net:
   bindIp: 0.0.0.0
   port: 27017
security:
    authorization: enabled
EOF

  4、建立systemd管理檔案

cat > /usr/lib/systemd/system/mongodb.service <<EOF
[Unit]
Description=MongoDB
After=network.target

[Service]
Type=forking
ExecStart=/data/mongodb/bin/mongod -f /data/mongodb/mongodb.conf

[Install]
WantedBy=multi-user.target
EOF

  5、啟動mongodb

sudo systemctl start mongodb
sudo systemctl enable mongodb

 

MongoDB shell基本操作

更多操作參考官方文件:https://www.mongodb.com/zh-cn/docs/manual/crud/

一、部署mongosh

  1、解壓mongosh二進位制包,移動至資料目錄

tar zxf mongosh-2.3.0-linux-x64.tgz
sudo mv mongosh-2.3.0-linux-x64 /data/mongosh

  2、配置環境變數

echo 'export PATH=/data/mongosh/bin:$PATH'  >> /home/mongod/.bashrc
source /home/mongod/.bashrc

二、MongoDB基本操作

  1、使用mongsh登陸Mongodb

[mongod@MongoDB ~]$ mongosh
Current Mongosh Log ID: 66d907153a28da6e485e739b
Connecting to:          mongodb://127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+2.3.0
Using MongoDB:          7.0.14
Using Mongosh:          2.3.0

For mongosh info see: https://www.mongodb.com/docs/mongodb-shell/

 
Deprecation warnings:
  - Using mongosh on the current operating system is deprecated, and support may be removed in a future release.
See https://www.mongodb.com/docs/mongodb-shell/install/#supported-operating-systems for documentation on supported platforms.
test>

  2、建立管理員賬戶

use admin
db.createUser({
  user: "admin",
  pwd: passwordPrompt(), 
  roles: [ { role: "root", db: "admin" } ]
})

  3、在admin資料庫中進行身份認證

db.auth("admin",passwordPrompt())

  4、查詢所有資料庫

show dbs;

  5、建立test資料庫,並在資料庫中建立一個mytest集合並向mytest集合中插入一條測試資料。

use test
db.mytest.insertOne(
   { key: "test", value: 100 }
)

  6、建立一個test使用者,讓該使用者只能對test資料庫具有讀寫許可權。

use test
db.createUser({
  user: "test",
  pwd: passwordPrompt(),
  roles: [
    { role: "readWrite", db: "test" }
  ]
})

  7、使用test使用者重新登陸,進入test資料庫,並查詢mytest集合中的資料。

db.mytest.find( { key: "test" } )

  

  8、再新增一條資料

db.mytest.insertOne(
   { name: "test", value: 100 }
)

  9、查詢mytest集合所有資料

db.mytest.find()

  10、修改一條資料

db.mytest.updateOne(
   { name: "test" },
   {
     $set: { value: "PPP" }
   }
)

  11、刪除一條資料

db.mytest.deleteMany({ name : "test" })

  12、刪除mytest集合中所有資料

db.mytest.deleteMany({})

  13、查詢test資料庫中的所有集合

show collections

  14、刪除mytest集合

db.mytest.drop()

  15、刪除test資料庫(需要登陸管理員使用者)

db.dropDatabase()

相關文章