我正在尝试将我的所有密钥从数据库1复制到 db2 。我正在使用以下命令:
select 1切换到数据库1
select 1
MIGRATE localhost 6380 "" 2 50000 AUTH my_password COPY KEYS
这将引发NOKEY错误。有人能告诉我出了什么问题吗?
NOKEY
uujelgoq1#
因为您没有指定要迁移的任何密钥。
由于您使用了KEYS选项,因此需要在此选项之后指定密钥:
KEYS
MIGRATE localhost 6380 "" 2 50000 AUTH my_password COPY KEYS key1 key2 key3 ...
因此,为了将密钥从一个数据库迁移到另一个数据库,您需要首先从源数据库扫描这些密钥。
此外,在您的示例中,如果您使用的是Redis 6.2.0或更高版本,则不需要MIGRATE命令,而是COPY命令。
MIGRATE
COPY
试试下面的一行:
redis-cli --scan | xargs -I {} redis-cli copy {} {} DB 2
1条答案
按热度按时间uujelgoq1#
因为您没有指定要迁移的任何密钥。
由于您使用了
KEYS
选项,因此需要在此选项之后指定密钥:因此,为了将密钥从一个数据库迁移到另一个数据库,您需要首先从源数据库扫描这些密钥。
此外,在您的示例中,如果您使用的是Redis 6.2.0或更高版本,则不需要
MIGRATE
命令,而是COPY
命令。试试下面的一行: