总结一下最近在学习Redis时遇到的关于密码的一些小坑.

背景:在学习redis时,观看了一些网站上的学习视频,关于密码这一块,讲师也是随口一提,不过感觉老师说的也有道理,作为一个服务器缓存数据库,关于安全方面的防御,应该在系统上都已经做够了功课,redis的重点是高效的存取数据,所以在redis中设置密码只是官方给的一个功能,但是应该用到的很少.笔者就是在学习过程中设置了密码,然后按照老师的步骤总会遇到一些奇怪的问题,所以在这里稍作总结,以防后面再次遇到不知道怎么回事.

1.在配置文件中启用了密码以后,如果我们直接连接redis服务器是允许连接的,但是没有任何的数据操作权限,需要执行命 令:auth xxx.系统返回OK即为通过验证.

2.在多台服务器并行使用时,如果主机开启了密码验证.备机直接连接主机是可以连接成功.但是可以通过命令:info replication查看当前主机的连接状态为:down(需要显示状态为up才能正常备份主机数据).解决办法:在备机的配置文件中启用:masterauth xxx,xxx为主机的密码.

3.在redis多台服务器中当开启了哨兵模式时,因为在哨兵模式中,当主机状态出现异常中断的时候,需要服务器通过redis-sentinel 中的投票机制从备机中选出一个备机转变为主机,此时配置文件无法任然是之前的配置文件,如果出现备机和主机密码不一致的情况,就会出现备机无法访问主机的情况,所以在哨兵模式中需要特别注意的是,参与竞争主机的备机需要和原主机的密码保持一致.并且在启用哨兵模式时需要在配置文件中添加:auth-pass hostname password.