当前位置: 首页> 房产> 市场 > 装修设计咨询公司_平面设计课程表_网站建设公司是怎么找客户_百度搜索引擎平台

装修设计咨询公司_平面设计课程表_网站建设公司是怎么找客户_百度搜索引擎平台

时间:2025/8/12 9:52:26来源:https://blog.csdn.net/qq_38006148/article/details/147216767 浏览次数:0次
装修设计咨询公司_平面设计课程表_网站建设公司是怎么找客户_百度搜索引擎平台

一、安装

1. 准备安装环境

# 更新系统软件包
sudo yum update -y# 安装基础依赖
sudo yum install -y libcurl openssl

2.创建MongoDB仓库文件

// centos7
sudo tee /etc/yum.repos.d/mongodb-org-4.4.repo <<EOF
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
EOF
// centos8
sudo tee /etc/yum.repos.d/mongodb-org-8.0.repo <<EOF
[mongodb-org-8.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/8.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-8.0.asc
EOF

3.安装 MongoDB 软件包

sudo yum install -y mongodb-org

4.配置 MongoDB

sudo vi /etc/mongod.conf
net:port: 27017bindIp: 0.0.0.0  # 如需远程访问,改为0.0.0.0security:authorization: enabled  # 启用认证

5. 启动 MongoDB 服务

sudo systemctl status mongod
sudo systemctl start mongod
sudo systemctl enable mongod

6.创建管理员用户

连接到 MongoDB 服务器:
mongosh 
# MongoDB 服务器运行在非默认端口或者远程服务器上
mongosh --host <hostname>:<port>
# 启用身份验证后,你需要使用创建的用户身份连接到 MongoDB:
mongosh --host <hostname> --port <port> -u "testuser" -p "password123" --authenticationDatabase "<database_name>"
use admin
db.createUser({user: "admin",pwd: "YourSecurePassword123!", // 请改为强密码roles: [ { role: "userAdminAnyDatabase", db: "admin" },{ role: "readWriteAnyDatabase", db: "admin" },{ role: "dbAdminAnyDatabase", db: "admin" },{ role: "clusterAdmin", db: "admin" }]
})
exit
use test
db.createUser({user: "testuser",pwd: "password123",roles: [{ role: "readWrite", db: "<database_name>" },{ role: "dbAdmin", db: "<database_name>" }]
})
删除用户
db.dropUser("testuser")

7.重启服务使认证生效

sudo systemctl restart mongod

8. 维护(可选)与常见问题解决

备份
# 定期备份:
mongodump --uri="mongodb://admin:Xkzh666888@localhost:27017" --out=/backup/mongodb-$(date +%F)
设置定期维护任务:
# 每月重建索引
echo "0 3 1 * * mongo --eval 'db.getSiblingDB(\"admin\").runCommand({reIndex: \"system.profile\"})'" | sudo tee -a /etc/crontab
重建索引
1.手动重建单个集合索引
use yourDatabase
db.yourCollection.reIndex()
2. 自动化脚本(每月执行)
#!/bin/bash
# 每月1日凌晨3点执行
MONGO_URI="mongodb://admin:password@localhost:27017/admin?tls=true"# 获取所有数据库(排除系统库)
DATABASES=$(mongo "$MONGO_URI" --quiet --eval "db.adminCommand({listDatabases:1}).databases.forEach(function(d){if(!['admin','local','config'].includes(d.name))print(d.name)})")# 遍历数据库重建索引
for DB in $DATABASES; doCOLLECTIONS=$(mongo "$MONGO_URI" --quiet --eval "db.getSiblingDB('$DB').getCollectionNames().forEach(function(c){print(c)})")for COL in $COLLECTIONS; doecho "重建 $DB.$COL 索引..."mongo "$MONGO_URI" --quiet --eval "db.getSiblingDB('$DB').getCollection('$COL').reIndex()"done
done
3. 通过 crontab 设置定时任务
# 编辑定时任务
sudo crontab -e# 添加以下内容(每月1日凌晨3点执行)
0 3 1 * * /path/to/your/reindex_script.sh >> /var/log/mongodb/reindex.log 2>&1
4. 重建效果验证
// 查看索引大小变化
db.collection.stats().indexSizes// 检查查询执行计划
db.collection.find({yourQuery}).explain("executionStats")
8.3 常见问题解决
# 查看错误日志
sudo cat /var/log/mongodb/mongod.log# 常见问题1:数据目录权限
sudo chown -R mongod:mongod /var/lib/mongo# 常见问题2:端口占用
sudo netstat -tulnp | grep 27017

9.基本操作

  • 查看当前数据库:db
  • 显示数据库列表:show dbs
  • 切换到指定数据库:use <database_name>
  • 执行查询操作:db.<collection_name>.find()
  • 插入文档:db.<collection_name>.insertOne({ … })
  • 更新文档:db.<collection_name>.updateOne({ … })
  • 删除文档:db.<collection_name>.deleteOne({ … })
  • 退出 MongoDB Shell:quit() 或者 exit
# 启动 MongoDB Shell
mongosh# 连接到本地 MongoDB 服务器
test> show dbs
admin   40.00 KiB
config  72.00 KiB
local   40.00 KiB
runoob  72.00 KiB
test> use runoob
switched to db runoob# 插入文档
runoob> db.mycollection.insertOne({ name: "Alice", age: 30 })
{acknowledged: true,insertedId: ObjectId('667cd8789a69705686ed70f2')
}# 查询文档
runoob> db.mycollection.find()
[{ _id: ObjectId('667cd8789a69705686ed70f2'), name: 'Alice', age: 30 }
]# 更新文档
runoob> db.mycollection.updateOne({ name: "Alice" }, { $set: { age: 31 } })
{acknowledged: true,insertedId: null,matchedCount: 1,modifiedCount: 1,upsertedCount: 0
}# 删除文档
runoob> db.mycollection.deleteOne({ name: "Alice" })
{ acknowledged: true, deletedCount: 1 }# 退出 MongoDB Shell
runoob> quit()

二、项目使用

application.yml

# Spring配置
spring:data:mongodb:uri: mongodb://admin:Xkzh666888@120.77.38.122:27017/archive_db?authSource=admin

pom.xml

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
关键字:装修设计咨询公司_平面设计课程表_网站建设公司是怎么找客户_百度搜索引擎平台

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: