文章内容
2022/12/28 16:03:48,作 者: 黄兵
Redis 迁移过程
最近需要迁移 Redis,在迁移过程中遇到一些问题,为了以后迁移不再犯相同错误,对整个迁移过程做一个完整记录。
源数据库:是指需要被迁移的 Redis 数据库。
目标数据库:是最终被迁移到的 Redis 数据库。
源数据库操作
首先对源数据库的数据进行备份,登录源 Redis 之后执行如下命令:
127.0.0.1:6379> bgsave Background saving started
之后查看备份文件保存的位置:
127.0.0.1:6379> CONFIG GET dir 1) "dir" 2) "/var/lib/redis"
退出 Redis,执行如下命令查看备份的文件名:
sudo ls /var/lib/redis
该目录下只有一个 dump.rdb
文件,也就是刚才备份的文件,我们使用 scp
命令将整个文件复制到另外一台服务器,命令如下:
sudo scp -r -i TencentCloud_HK_Convert /home/ubuntu/dump.rdb ubuntu@172.19.0.5:/home/ubuntu/
需要说明的是,我先将 dump.rdb
文件复制到 /home/ubuntu/
,目录下面。
目标数据库操作
停止 Redis 数据库,执行如下命令:
sudo systemctl stop redis.service
之后将刚才复制过来的 dump.rdb
文件复制到 /var/lib/redis 目录下面,执行如下命令:
sudo mv dump.rdb /var/lib/redis/
之后重新启动 Redis,执行如下命令:
sudo systemctl restart redis.service
如果 Redis 启动失败,报如下错误:
systemd: redis-server.service: Can’t open PID file /run/redis/redis-server.pid (yet?) after start: Operation not permitted
我们刚才复制过去的文件变成 Ubuntu 可读可写,而原来的文件是 redis 用户和组可读可写,因此需要改变 dump.rdb
的文件用户与组,执行如下命令:
sudo chown -R redis.redis /var/lib/redis/dump.rdb
即可改变 dump.rdb
文件的用户和组。
再次重新启动 Redis,问题解决,我们登录 Redis,看一下数据是否存在。
使用如下命令:
redis-cli 127.0.0.1:6379> keys *
经过检查所有的数据都存在,完成迁移。
参考资料:
其它相关推荐:
3、redis.exceptions.ConnectionError: Error 111 connecting to redis-server:6379. Connection refused.
5、redis.Redis 和 redis.StrictRedis 的区别
黄兵个人博客原创。
转载请注明出处:黄兵个人博客 - Redis 迁移过程
评论列表