MongoDB安装步骤与基本命令

一、MongoDB安装

安装依赖包

dnf -y install tar

dnf install libcurl openssl -y

解压安装包

tar zxf mongodb-linux-x86_64-rhel8-8.0.8.tgz

mv mongodb-linux-x86_64-rhel88-8.0.8/ /usr/local/mongodb

软链接

echo 'export PATH=/usr/local/mongodb/bin:$PATH' >>/etc/profile

source /etc/profile

创建两个目录并设置权限

mkdir -p /var/lib/mongo

mkdir -p /var/log/mongodb

chown `whoami` /var/lib/mongo

chown `whoami` /var/log/mongodb

安装openss111依赖包

dnf install -y gcc make perl

tar zxf openssl-1.1.1w.tar.gz

cd openssl-1.1.1w ./config --prefix=/opt/openssl11 --openssldir=/opt/openssl11/ssl

make && make install

设置环境变量

echo 'export LD_LIBRARY_PATH=/opt/openssl11/lib:$LD_LIBRARY_PATH' | sudo tee /etc/profile.d/openssl11.sh

source /etc/profile.d/openssl11.sh

启动mongodb服务

mongod --dbpath /var/lib/mongo --logpath /var/log/mongodb.log --fork

ss -nlpt

二、MongoDB shell

1.安装MongoDB shell

解压安装包

tar zxf mongosh-2.5.0-linux-x64-openssl3.tgz

cd mongosh-2.5.0-linux-x64-openssl3

cd bin/

cp mongosh /usr/local/bin/

cp mongosh_crypt_v1.so /usr/local/lib/

2.验证MongoDB shell

mongosh

三、数据库管理

1.查看数据库列表

show dbs

db

2.创建数据库

use runoob

db

show dbs

db.runoob.insertOne({"name":"zhangsan"})

3.操作命令

use myDatabase

db.dropDatabase()

show dbs #查看数据库列表

db #查看当前数据库

use runoob #切换库

db.dropDatabase() #删除数据库,删除数据库需要切换到库里面

db.createCollection("runoob") show collections db.adminCommand({ #重命名数据库 renameCollection: "test.runoob", to: "test.newrunoob" }); db.runoob.insertone({"name":"zhangsan"}) #插入数据

db.newrunoob.drop() #删除集合

db.myCollection.insertOne({ name: "Alice", age: 25, city: "New York" }); #插入一条文档

#在myCollection集合中批量更新所有age小于30的文档将这些文档的status字段设置为 "active" db.myCollection.updateMany( { age: { $lt: 30 } }, { $set: { status: "active" } });

#插入多余文档 db.myCollection.insertMany([ { name: "Bob", age: 30, city: "Los Angeles" }, { name: "Charlie", age: 35, city: "Chicago" }]);

#查询文档 db.myCollection.find();

#删除名字叫alice文档 db.myCollection.deleteOne({ name: "Alice" });

#删除名字叫bob文档 db.myCollection.deleteMany({ name: "Bob" });

#在myCollection集合中找到名字为Charlie文档删除同时返回该文件的name和age字段 db.myCollection.findOneAndDelete( { name: "Charlie" }, { projection: { name: 1, age: 1 } } );

#将alice的age值改成26 db.myCollection.updateOne( { name: "Alice" }, { $set: { age: 26 } });

#创建用户 use admin // 切换到admin数据库(所有管理用户都应该在此数据库创建)

db.createUser({ // 创建用户的命令

user: "admin", // 用户名

pwd: "你的强密码", // 密码(替换为你想要的实际密码)

roles: [ // 分配给用户的权限角色

{ role: "userAdminAnyDatabase", db: "admin" }, // 可以管理所有数据库的用户

"readWriteAnyDatabase" // 可以读写所有数据库 ]

})

四、备份与恢复

1.安装备份与恢复命令

rpm -ivh mongodb-database-tools-rhel70-x86_64-100.12.0.rpm

mongodump

mongosh

db.myCollection.deleteOne({ name: "Alice" });

db.myCollection.deleteMany({ name: "Bob" });

#恢复

mongorestore

使用用户登录

#创建用户 db.createUser({ user: "testuser", pwd: "password123", roles: [ { role: "readWrite", db: "test" }, { role: "dbAdmin", db: "test" } ]})

#验证用户 db.auth("testuser", "password123")

#重启服务 pkill mongod mongod --auth --dbpath /var/lib/mongo --logpath /var/log/mongodb/mongod.log --fork

#使用用户登录 mongosh -u "testuser" -p "password123" --authenticationDatabase "test"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值