260210-mongodb(copyDatabase) show database 如何调整数据库名称
发布时间 :
在 MongoDB 中,没有直接的 plain复制 rename database 命令
copydatabase()已过期
copydatabase()已过期
copydatabase()已过期
方法1:使用plain复制mongodump和plain复制mongorestore(适合大型数据库)
1 2 3 4 5 6 7 8 9 10
| mongodump --db old_db_name --out /backup/path/
mongorestore --db new_db_name /backup/path/old_db_name/
mongo > use old_db_name > db.dropDatabase()
|
方法2:使用plain复制mongosh的聚合管道(MongoDB 4.2+)
1 2 3 4 5 6 7
| use old_db_name
db.getCollectionNames().forEach(function (coll) { db[coll].aggregate([{$out: {db: "new_db_name", coll: coll}}]); });
|
⚠️ 注意事项
| 项目 |
说明 |
| 索引 |
复制后需要重新创建索引 |
| 用户权限 |
数据库用户不会自动复制,需手动创建 |
| 磁盘空间 |
确保有足够空间存储两份数据 |
| 生产环境 |
建议在维护窗口操作,或先备份 |
快速检查命令
1 2 3 4 5 6 7 8 9 10
| show dbs
db.getName()
use database_name
|
**推荐在生产环境使用 plain复制 mongodump/mongorestore**,更加稳定可靠,且可以验证数据完整性。