这是本文档旧的修订版!
====== redis出现(error) NOAUTH Authentication required.错误的原因 解决方案 和 预防措施 ====== ===== Redis 简单介绍 ===== Redis 是一个开源(BSD许可)的,内存中的数据结构,并且是一个键值(key-value)存储系统。它可以用作数据库、缓存和消息中间件,它支持多种类型的数据结构,包括string(字符串)、lists(链表)、set(集合)、zset(sorted set 有序集合)、hashes(哈希类型),与 范围查询,bitmaps,hyperloglogs 和 地理空间(geospatial)索引半径查询。Redis 内置了 复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions)和不同级别的 磁盘持久化(persistence),并通过 Redis哨兵(Sentinel)和 自动分区(Cluster)提供高可用性(high availability)。它还会周期性把更新的数据写入磁盘或者把修改操作写入追加的记录文件,redis 默认的端口为:6379 ===== NOAUTH Authentication required ===== 此错误是由于redis的密码被修改,而导致验证失败,从而命令无法执行,导致此 error. ===== 解决方案 ===== 需要重新启动redis,并且启动时将验证模式重置为"不开启密码验证"的模式,如下图: {{:zh:常见问题及解答:redis关闭了密码验证功能.png?750|}} 首先,使用如下命令查看一下redis的进程号,如下图: <code> ps aux |grep redis </code> {{:zh:常见问题及解答:查看redis进程01.png?750|}} 并使用 kill 命令将其结束掉当前的redis服务: <code> kill 2023 </code> 然后使用默认配置(requirepass 默认是不开启的),重启并在后台运行redis 服务,执行如下命令: <code> redis-server /etc/redis.conf & </code> ===== 预防措施 ===== 开启防火墙 iptables 服务,因为默认iptables 是不开放6379端口的。