我目前有一个运行在云实例上的实时redis服务器,我想将这个redis服务器迁移到一个新的云实例,并使用该实例作为我的新redis服务器。如果是MySQL,我会从旧服务器导出DB并将其导入到新服务器中。我该如何使用redis呢?
附言:我不打算设置复制。我想要将redis服务器完全迁移到一个新实例。
发布于 2014-02-26 03:31:06
首先,在服务器A上创建转储。
A$ redis-cli
127.0.0.1:6379> CONFIG GET dir
1) "dir"
2) "/var/lib/redis/"
127.0.0.1:6379> SAVE
OK这确保了dump.rdb是完全最新的,并向我们显示了它的存储位置(本例中为/var/lib/redis/dump.rdb)。dump.rdb也会定期自动写入磁盘。
接下来,将其复制到服务器B:
A$ scp /var/lib/redis/dump.rdb myuser@B:/tmp/dump.rdb在B上停止Redis服务器,复制dump.rdb (确保权限与之前相同),然后启动。
B$ sudo service redis-server stop
B$ sudo cp /tmp/dump.rdb /var/lib/redis/dump.rdb
B$ sudo chown redis: /var/lib/redis/dump.rdb
B$ sudo service redis-server startB上的Redis版本必须大于或等于A的版本,否则可能会遇到compatibility issues。
发布于 2011-05-15 06:40:14
从命令行运行BGSAVE或SAVE,将数据库的快照保存到dump.rdb中。这将在您的redis服务器所在的文件夹中创建一个名为dump.rdb的文件。查看所有服务器commands的列表。
将此dump.rdb复制到您要迁移到的其他redis服务器。当redis启动时,它会查找这个文件来初始化数据库。
发布于 2011-05-15 09:34:08
如果您有服务器之间的连接,最好设置复制(与SQL不同,这很简单),并将新实例作为从节点-然后,您可以使用单个命令将新节点切换为主节点,并在零宕机时间内执行移动。
https://stackoverflow.com/questions/6004915
复制相似问题