两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 |
it:database:mongo_install [2021-07-22 19:26] – [硬盘快照备份] goldentianya | it:database:mongo_install [2024-05-25 15:42] (当前版本) – [MongoDB 架构] goldentianya |
---|
====== MongoDB 架构 ====== | ====== MongoDB 架构 ====== |
| |
| [[https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-ubuntu/|安装 [email protected] ubuntu]] [[https://www.mongodb.com/docs/v5.0/tutorial/install-mongodb-on-os-x/|mac OX]] |
| |
| [[https://www.mongodb.com/developer/products/mongodb/mongodb-on-raspberry-pi/|树莓派只能安装4.4版本]] |
| |
| sudo systemctl restart mongod |
| |
===== 安全 ===== | ===== 安全 ===== |
</code> | </code> |
| |
| 此文章提及到主节点[[https://www.jianshu.com/p/73b5ad930f47|人工降级]]为副本集。 |
===== 数据备份 ===== | ===== 数据备份 ===== |
| |
| |
<code bash> | <code bash> |
mongodump --uri="mongodb://user:[email protected].136:33720" --authenticationDatabase admin -d Stock -o ~/projects/Backup | mongodump --uri="mongodb://user:[email protected].157:33720" --authenticationDatabase admin -d Stock -o ~/projects/Backup |
mongorestore --uri="mongodb://user:pw@217.160.61.19:33720" --authenticationDatabase admin -d stockapi ~/projects/Backup/stockapi | mongorestore --uri="mongodb://user:pw@143.47.185.127:33720" --authenticationDatabase admin -d Stock ~/projects/Backup/Stock |
</code> | </code> |
| |
==== 压缩文件备份 ==== | ==== 压缩文件备份 ==== |
| |
将目录压缩到一个文件当中 ''<color #7092be>tar -czf /home/ubuntu/Backup/`date +%F`_mongo_all.tar.gz /home/mongodata/data/</color>'' \\ 解压到原来的目录 ''<color #7092be>tar -xzf /home/mongobackup/2021-07-17_mongo_all.tar.gz -C /</color>'' | 将目录压缩到一个文件当中 <color #ff7f27>''%%tar -czf /home/ubuntu/Backup/`date +%F`_mongo_all.tar.gz /home/ssd/mongodb%%''</color> |
| |
| 解压到原来的目录 <color #ff7f27>''%%tar -xzf /home/ubuntu/Backup/2021-07-17_mongo_all.tar.gz -C /%%''</color> |
| |
:!: //解压的参数写根目录就可以了,它会按照压缩时的目录解压// 。 | :!: //解压的参数写根目录就可以了,它会按照压缩时的目录解压// 。 |
=== 4 创建逻辑卷 === | === 4 创建逻辑卷 === |
| |
[[https://blog.csdn.net/debimeng/article/details/72470030|lvcreate 解释]] 创建一个名为 '"mongolv" 的逻辑卷 | 创建一个名为 '"mongolv" 的逻辑卷(([[https://blog.csdn.net/debimeng/article/details/72470030|lvcreate 解释]])) |
| |
<code bash> | <code bash> |
| |
也可以设置完 ''fstab'' 文件后用 ''<color #7092be>mount -a</color>'' 命令看看是否挂载成功。 | 也可以设置完 ''fstab'' 文件后用 ''<color #7092be>mount -a</color>'' 命令看看是否挂载成功。 |
=== 7 使用 LVM 创建快照 snapshot === | === 7 使用 LVM 创建快照 snapshot === |
| 创建快照卷(([[https://qastack.cn/ubuntu/424225/setting-up-lvm-snapshot-as-a-backup-restore-point-in-ubuntu|将LVM快照设置为ubuntu中的备份/还原点]])) |
[[https://qastack.cn/ubuntu/424225/setting-up-lvm-snapshot-as-a-backup-restore-point-in-ubuntu|参考文章]] | |
| |
<code bash> | <code bash> |
ls -l /var/lib #得出以下信息 | ls -l /var/lib #得出以下信息 |
drwxr-xr-x 4 mongodb mongodb 4096 Jul 15 15:01 mongodb | drwxr-xr-x 4 mongodb mongodb 4096 Jul 15 15:01 mongodb |
| |
</code> | </code> |
| |
# 权限好像不需要更改 | # 权限好像不需要更改 |
chmod -R 777 /home/mongodata | chmod -R 777 /home/mongodata |
| |
| |
</code> | </code> |
| |
ls - lat /tmp/mongodb-2222.sock # 2222 为设定的数据库端口 | ls - lat /tmp/mongodb-2222.sock # 2222 为设定的数据库端口 |
sudo chown mongodb:mongodb /tmp/mongodb-2222.sock | sudo chown mongodb:mongodb /tmp/mongodb-2222.sock |
| |
| |
</code> | </code> |
| |
===== 优化与管理 ===== | ===== 优化与管理 ===== |
| |
| 限制内存用量 |
| |
| <code> |
| storage: |
| dbPath: /var/lib/mongodb |
| journal: |
| enabled: true |
| # engine: |
| mmapv1: |
| smallFiles: true |
| wiredTiger: |
| engineConfig: |
| configString : cache_size=160M |
| </code> |