Skip to content

万家欢迁移

MySQL

云数据库 版本,5.6或者5.5? 我们目前用的是5.5,我对比了一下区别,5.6比5.5有一些性能上的提升,腾讯云支持从5.5迁移到5.6 迁移使用CDB自建迁移工具即可,指定全库表迁移,数据迁移完成后,会将目标库设置成源数据库的备库

Redis

使用脚本迁移

#!/bin/bash

#redis 源ip
src_ip=10.251.164.84
#redis 源port
src_port=6379
#redis 源db
src_db=0

#redis 目的ip
dest_ip=10.204.237.194
#redis 目的port
dest_port=6379
#redis 目的db
dest_db=2
#redis 目的密码
dest_pwd=xnnredis@2015

#要迁移的key前缀
key_prefix=com.example.test

i=1

redis-cli -h $src_ip -p $src_port -n $src_db keys "*" | while read key
do
    redis-cli -h $dest_ip -p $dest_port -a $dest_pwd -n $dest_db del $key
    redis-cli -h $src_ip -p $src_port -n $src_db --raw dump $key | perl -pe 'chomp if eof' | redis-cli -h $dest_ip -p $dest_port -a $dest_pwd -n $dest_db -x restore $key 0
    echo "$i migrate key $key"
    ((i++))
done
  1. 在源db写一个测试key
  2. save, 复制dump.rdb到dump.rdb.bak
  3. 运行脚本
  4. 在目的db上检查是否有测试key
  5. 关闭源redis

迁移流程:

  1. 可以提前一天先迁移MySQL
  2. 启用新的望家欢服务(磊哥提前部署)
  3. 修改dns指向
  4. dns生效后关闭10.251.164.84的nginx服务
  5. redis迁移