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()