【运营】mysql8与mongo4数据迁移
mysql8 导入导出
mysql 导出语句: mysqldump -uroot xxx> 指定位置/xxx.sql
mysql 导入语句: mysql -uroot xxx< 指定位置/xxx.sql
备注:
mysqldump -uroot -pxxxx --master-data --single-transaction 数据库名称> all.sql
mongo4 导入导出
mongo 导出语句: mongodump -h localhost --port 27017 --authenticationDatabase admin -u root -p 密码 -d xxx -o /root
mongo 导入语句: mongorestore -h localhost --port 27017 -u root -p 密码 -d xxx --drop /root/xxx --authenticationDatabase admin
注意 --drop 是要删除既有的数据, --authenticationDatabase admin 指定验证数据库,不指定在开启验证的时候,会报错
mongoImport/Export
导出:
mongoexport -d 库 -c 集合 --authenticationDatabase=admin -u root -p 密码 -o /data/backup/20220601/back_xxx.json导入:
mongoexport -d 库-c 集合--authenticationDatabase=admin -u root -p 密码 -o /home/0601/xxx_data.json
mongoimport --authenticationDatabase=admin -u root -p 密码 -d 库 -c 集合 /home/0601/xxx_data.json
mongo shell 使用 js
db.getCollection('集合').find().forEach(
function(item) {
var cont1 = [];
Object.keys(item.infoMap).map(key => {
if(key != 'licenseStart' && key != 'licenseEnd' && key != 'releaseYear') {
cont1.push(item.infoMap[key])
}
})db.getCollection('smart_document_data').insert(
{
"smartType" : "document",
"parentType" : "asset",
"parentId" : item.parentId,
"contents" : cont1,
"createAt" : ISODate("2022-05-30T08:32:28.982Z"),
"programed" : true,
}
)
}
)