MongoDB单节点部署与基本操作
MongoDB 7.0 单节点部署 与 MongoDB shell基本操作
部署准备:
1、操作系统:CentOS7.9 ,数据文件系统挂载至/data目录下。
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二进制包,移动至/data目录
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 shell基本操作
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()