数据库迁移-MySQL-Redis

作者:
淡白
创建时间:
2020-07-09 09:23:03
redis MySQL

摘要:文章提到了迁移准备和MySQL迁移以及Redis迁移。 在迁移准备部分,作者提到目标服务器已经安装了MySQL和Redis数据库,并指明了源数据库和目标数据库的版本信息。对于MySQL的迁移,作者试过使用SQLyog连接两边的数据库,但觉得比较麻烦需要手动创建数据库和用户。于是作者决定尝试宝塔控制面板的数据迁移API,但遇到了问题,发现不能从Windows服务器迁移到Linux服务器,只能手动迁移。 对于Redis的迁移,作者使用了redis-shake进行迁移。作者提供了使用RDB文件迁移的方式,并提供了redis-shake工具的下载链接。作者解释了如何修改redis-shake的配置文件,并指出在Linux和Windows下分别如何执行redis-shake命令。最后,作者展示了Redis迁移完成的截图。 根据文章内容可以得知,文章主要是讲述了作者进行服务器迁移的准备工作以及具体的MySQL和Redis迁移过程。

迁移准备

准备换服务器了,在目标服务已经安装完成了 MySQL 和 Redis 数据库。 源MySQL版本:5.5.62 目标MySQL版本:5.7.30 源Redis版本:3.2.100 目标Redis版本:6.0.5

MySQL迁移

上次我试过 SQLyog 连接两边的数据库,复制数据比较麻烦需要手动创建数据库和用户。 这次我两边服务器都安装了宝塔控制面板所以我试试宝塔的数据迁移api。需要在源服务器上安装插件。

源数据服务器是window 目标是linux image.png

在目标机器控制面板打开API image.png

并且设置IP白名单和获取API密钥 image.png

遇到了这样一个问题

image.png

在安装完PHP7.3后继续 image.png

原来并不能从window服务器迁移至linux服务器只能手动了。

Redis迁移

通过 redis-shake 进行Redis数据库的迁移 使用RDB文件迁移的方式 下载redis-shake 下载 解压后打开 redis-shake.conf根据自己情况修改

#备份文件(RDB文件)的路径,可使用相对路径或绝对路径。
source.rdb.input = C:\BtSoft\redis\dump.rdb
#目的Redis的连接地址与端口号。
target.address = 185.x.x.x:6379
#目的Redis的连接密码。
target.password_raw=123123
#设置待迁移的数据在目的Redis中的逻辑数据库名,默认值为-1。
例如,要将所有数据迁移到目的Redis中的DB10,则需将此参数的值设置为10。当该值设置为-1时,逻辑数据库名在源Redis和目的Redis中的名称相同,即源Redis中的DB0将被迁移至目的Redis中的DB0,DB1将被迁移至DB1,以此类推。
target.db=-1
#如果目的Redis有与RDB文件中相同的key,是否覆盖,可选值:
true(覆盖)
false(不覆盖)
rewrite=true

linux执行

./redis-shake -type=restore -conf=redis-shake.conf

window

redis-shake -type=restore -conf=redis-shake.conf

复制完成 image.png