mongodb mysql es数据迁移

mongodb数据迁移

使用的工具:

mongodump 备份

mongorestore 恢复

# 10.1.1.1是需要迁移数据的mongo主机
# 10.1.1.2是一台全新的mongo主机

# 在10.1.1.1上操作
# 全库备份
mongodump -h 10.1.1.1:27017 -uroot -proot --authenticationDatabase admin  -o /home/mongod/backup

# 单库备份
mongodump -h 10.1.1.1:27017 -uroot -proot --authenticationDatabase admin  -d test -o /home/mongod/backup/  # 备份test库

# 备份某一个库下的集合
mongodump -h 10.1.1.1:27017 -uroot -proot --authenticationDatabase admin  -d test -c vast -o /home/mongod/backup/ # 备份test库下的vast集合

# 备份单表并压缩
mongodump -h 10.1.1.1:27017 -uroot -proot --authenticationDatabase admin  -d test -c vast -o /home/mongod/backup/ --gzip
# 在10.1.1.2上操作
# 从全库的备份中恢复某个单库
mongorestore -h 10.1.1.2:27017 -uroot -proot --authenticationDatabase admin -d test --drop  /home/mongod/backup/test/

# 恢复test库
mongorestore -h 10.1.1.2:27017 -uroot -proot --authenticationDatabase admin -d test /home/mongod/backup/test/

# 恢复test库下的vast集合
mongorestore -h 10.1.1.2:27017 -uroot -proot --authenticationDatabase admin -d test -c vast /home/mongod/backup/test/vast.bson
mysql数据迁移

mysql备份

# 10.1.1.1是需要迁移数据的mysql主机
# 10.1.1.2是一台全新的mysql主机

# 在10.1.1.1上操作
# 备份整个mysql上的所有数据
mysqldump -uadmin -h 10.1.1.1 -uadmin -p --all-databases > backupfile.sql
# 备份单个数据库的数据
mysqldump -–add-drop-table -uusername -ppassword databasename > backupfile.sql 
# 备份多个数据库的数据
mysqldump -hhostname -uusername -ppassword –databases databasename1 databasename2 databasename3 > multibackupfile.sql

mysql恢复

# 在10.1.1.2上操作
mysql -u root -p
source backupfile.sql
# or
mysql -hhostname -uusername -ppassword databasename < backupfile.sql
es数据迁移
Elasticsearch-dump导出数据
# 将192.168.150.30的dev43_sdx_dev导出为json格式的数据
docker run --rm -ti -v /data:/tmp taskrabbit/elasticsearch-dump   --input=http://192.168.150.30:9200/dev43_sdx_dev   --output=/tmp/my_index_mapping.json --type=data

Elasticsearch-dump导入数据
# 将new_index_mapping.json内的数据导入至192.168.150.31的dev43_sdx_dev_bulk
docker run --rm -ti -v /data:/tmp taskrabbit/elasticsearch-dump --input=/tmp/new_index_mapping.json --output=http://192.168.150.31:9200/dev43_sdx_dev_bulk --type=data
注意:

docker 执行 elasticdump 导入导出文件的文件共享问题
在 docker 中执行 elasticdump 进行数据导入导出时,需要考虑宿主机之间文件共享的问题,在 run elasticdump 用 -v 指定共享文件的位置

原文地址: https://www.cnblogs.com/sonyy/p/13156239.html

你可能感兴趣的:(mongodb mysql es数据迁移)