redis报错

一 ,[ERR] Node 192.168.67.145:6380 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.

在这里插入图片描述
导致异常的主要原因是该节点中默认生成的配置或历史存储数据不一致导致的,清除对应节点的dump.rdb、nodes.conf文件,重启之后即可

解决步骤:
1、停止服务,删除aof/rdb文件;
2、删除nodes.conf
3、启动服务
4、启动集群
说明Redis中有数据,需要连接该Redis执行“flushdb”清空数据。如果还不行,则停止Redis服务后,删除该节点下的nodes-800x.conf文。

二,systemctl start redis 启动报错

32680:M 17 Nov 2022 10:36:16.477 # Server initialized
32680:M 17 Nov 2022 10:36:16.477 # Can’t handle RDB format version 10
32680:M 17 Nov 2022 10:36:16.477 # Fatal error loading the DB: Invalid argument. Exiting.

find / -name dump.rdb

删除dump.rdb文件,重新启动。

三 redis 生产环境迁移报错

报错:
Error condition on socket for SYNC: Connection reset by peer
Error: Connection reset by peer

原因:
是由于主库配置文件中的 #bind 127.0.0.1 和 /etc/redis.conf 中protected-mode 模块导致的。
protected-mode配置,默认是no,即关闭。
redis报错_第1张图片
解决方法:
设置外部网络连接redis服务,设置方式如下:
1)关闭protected-mode模式,此时外部网络可以直接访问。
2)开启protected-mode保护模式,需配置bind ip或者设置访问密码。
解决方法 :
1)将主库bind ip 注释取消,并设置为0.0.0.0 ,代表所有ip都可以访问。
2)都使用默认的,bind 注释,安全模式设置为no。

#bind 127.0.0.1
protected-mode no

你可能感兴趣的:(数据库,redis,数据库,java)