由于服务器搬迁的原因,时不时会进行数据库的一些整体迁移操作
1. mysql
通过mysqldump命令实现。
# 迁出
mysqldump -u root -p questionDB > questionDB.sql
# 迁入
create database questionDB
source questionDB.sql
2. es迁移
安装Node和Npm,安装包下载地址:https://nodejs.org/en/download/
解压,并创建软链接
sudo ln -s /opt/node-v8.1.0-linux-x64/bin/node /usr/bin/node
sudo ln -s /opt/node-v8.1.0-linux-x64/bin/npm /usr/bin/npm
# 检查是否安装成功
node -v
npm -v
安装Elasticdump:
npm install elasticdump -g
# 迁出
elasticdump --input http://<旧ip>:9200/record_info --output record_info.json --type=data
# 创建索引
curl -XPUT http://<新ip>:9200/record_info
# 迁入
elasticdump --input record_info.json --output http://<新ip>:9200/ --type=data
3. neo4j迁移
具体见:https://blog.csdn.net/shlhhy/article/details/106356733?spm=1001.2014.3001.5502,第7节
4. redis迁移
下载redis_shake,解压
wget https://github.com/alibaba/RedisShake/releases/download/release-v2.0.3-20200724/redis-shake-v2.0.3.tar.gz
tar -zxvf redis-shake-v2.0.3.tar.gz
修改redis-shake.conf的配置
# 旧的redis
target.type = cluster
# 将集群的主节点写到配置里
target.address = master@<ip1>:6379;<ip2>:6380;<ip3>:6381
target.password_raw =
# 新的redis
target.type = cluster
# 将集群的主节点写到配置里
target.address = master@<ip11>:6379;<ip22>:6381;<ip33>:6383
target.password_raw =
执行如下命令:
./redis-shake.linux -conf=redis-shake.conf -type=sync
正确执行,会出现如下的迁移日志记录
5. milvus迁移
下载milvusdm迁移工具
pip3 install pymilvusdm
5.1 milvus–>milvus
wget https://raw.githubusercontent.com/milvus-io/milvus-tools/main/yamls/M2M.yaml
配置参数:
M2M:
milvus_version: 0.10.5
source_milvus_path: '/home/user/milvus'
mysql_parameter:
host: '127.0.0.1'
user: 'root'
port: 3306
password: '123456'
database: 'milvus'
source_collection:
test:
- 'partition_1'
- 'partition_2'
dest_host: '127.0.0.1'
dest_port: 19530
mode: 'skip' # 'skip/append/overwrite'
执行如下命令
milvusdm --yaml M2M.yaml
5.2 Milvus–>离线文件–>Milvus
下载工具:
wget https://raw.githubusercontent.com/milvus-io/milvus-tools/main/yamls/M2H.yaml
wget https://raw.githubusercontent.com/milvus-io/milvus-tools/main/yamls/H2M.yaml
配置M2H.yaml文件的参数
M2H:
milvus_version: 0.10.5
source_milvus_path: '/home/user/milvus'
mysql_parameter:
host: '127.0.0.1'
user: 'root'
port: 3306
password: '123456'
database: 'milvus'
source_collection: # specify the 'partition_1' and 'partition_2' partitions of the 'test' collection.
test:
- 'partition_1'
- 'partition_2'
data_dir: '/home/user/data'
执行如下命令,将milvus导出为离线的HDF5文件
milvusdm --yaml M2H.yaml
配置H2M.yaml文件的参数
H2M:
milvus-version: 0.10.5
data_path:
- /Users/zilliz/float_1.h5
- /Users/zilliz/float_2.h5
data_dir:
dest_host: '127.0.0.1'
dest_port: 19530
mode: 'overwrite' # 'skip/append/overwrite'
dest_collection_name: 'test_float'
dest_partition_name: 'partition_1'
collection_parameter:
dimension: 128
index_file_size: 1024
metric_type: 'L2'
执行如下命令:
milvusdm --yaml H2M.yaml