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、创建数据目录
sudo mkdir /data
2、解压mongodb服务包,移动至数据目录
sudo tar zxf mongodb-linux-x86_64-rhel70-7.0.14.tgz
sudo mv mongodb-linux-x86_64-rhel70-7.0.14 /data/mongodb
3、创建数据目录和日志目录
sudo mkdir /data/mongodb/{data,logs}
4、创建配置文件
cat > /data/mongodb/mongodb.conf <<EOF storage:dbPath: "/data/mongodb/data" systemLog:destination: filepath: "/data/mongodb/logs/mongod.log"logAppend: true processManagement:fork: true net:bindIp: 0.0.0.0port: 27017 security:authorization: enabled EOF
5、创建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
6、启动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.0For 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()