1. ホーム
  2. database

[解決済み】redisデータベースをあるサーバーから別のサーバーに移動するにはどうすればいいですか?

2022-04-13 21:07:26

質問

現在、クラウドインスタンス上でライブのredisサーバーが動作していますが、このredisサーバーを新しいクラウドインスタンスに移行し、そのインスタンスを新しいredisサーバーとして使用したいと思います。MySQLであれば、古いサーバーからDBをエクスポートして、新しいサーバーにインポートすることになります。redisでこれをどのように行うべきでしょうか?

追伸:レプリケーションを設定したいわけではありません。私はredisサーバーを新しいインスタンスに完全に移行したいのです。

どのように解決するのですか?

まず、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 start

B の Redis のバージョンは A のそれ以上でなければなりません。 互換性の問題 .