在CentOS系统上,MongoDB的数据导入导出可以通过使用mongodump
和mongorestore
工具来实现数据库级别的备份和恢复,以及使用mongoexport
和mongoimport
工具来实现集合级别的数据操作。以下是这些工具的使用方法和一些技巧。
mongodump
和mongorestore
进行数据库备份和恢复备份(mongodump):使用mongodump
工具可以导出数据库或集合的数据。基本命令格式如下:
mongodump --host <host:port> -u <username> -p <password> --authenticationDatabase <authDB> --db <databaseName> -o <outputDir>
例如,导出名为mydatabase
的数据库到./backup
目录:
mongodump --host localhost --port 27017 -u root -p --authenticationDatabase admin --db mydatabase -o ./backup
如果需要压缩备份文件以节省空间,可以使用tar
命令:
cd /path/to/backup/directory
tar -czvf your_database_name_backup.tar.gz your_database_name
恢复(mongorestore):使用mongorestore
工具可以将导出的数据恢复到数据库。基本命令格式如下:
mongorestore --host <host:port> -u <username> -p <password> --authenticationDatabase <authDB> <inputDir>
例如,将./backup
目录中的数据恢复到名为mydatabase
的数据库:
mongorestore --host localhost --port 27017 -u root -p --authenticationDatabase admin --dir ./backup
如果恢复的是整个数据库,可以省略--dir
参数。
mongoexport
和mongoimport
进行集合数据操作导出(mongoexport):mongoexport
工具用于导出单个或多个集合的数据,支持导出为JSON、CSV或TSV格式。基本命令格式如下:
mongoexport --host <host:port> -u <username> -p <password> --authenticationDatabase <authDB> --db <databaseName> --collection <collectionName> --type <fileType> --out <outputDir>
例如,导出名为mydatabase
的数据库中名为mycollection
的集合为JSON文件:
mongoexport --host localhost --port 27017 -u root -p --authenticationDatabase admin --db mydatabase --collection mycollection --type json --out ./backup
导入(mongoimport):mongoimport
工具用于将文件中的数据导入到MongoDB集合中。基本命令格式如下:
mongoimport --host <host:port> -u <username> -p <password> --authenticationDatabase <authDB> --db <databaseName> --collection <collectionName> --file <inputFile>
例如,将./backup/mycollection.json
文件导入到名为mydatabase
的数据库中名为mycollection
的集合:
mongoimport --host localhost --port 27017 -u root -p --authenticationDatabase admin --db mydatabase --collection mycollection --file ./backup/mycollection.json
在使用这些工具时,请确保您的MongoDB服务已经启动并正确配置了访问权限。如果遇到字符编码问题,确保数据文件的字符编码与mongoimport工具的默认编码或你通过参数手动指定的编码一致。对于大数据量导入,应考虑系统资源分配及潜在的性能影响。