Python学习——redis密码认证

我们安装完Redis之后,在终端中输入redis-cli 直接进入redis数据库,redis默认是不需要密码认证的,只要连接的redis服务器的host和port(默认6379)正确,就可以连接使用。在这个信息化时代数据对我们来说是十分重要的我们并不想让别人随便访问我们的数据库,免密登录这显然不是我们所希望的。

  1. 修改配置文件
    redis的配置文件默认在/etc/redis.conf,sudo vim redis.conf找到如下行:

    #requirepass foobared

去掉前面的注释,并修改为所需要的密码:

requirepass 123456(123456是要设置的密码)
2. 重启Redis服务
如果Redis已经配置为service服务,可以通过以下方式重启:

service redis restart

如果Redis没有配置为service服务,可以通过以下方式重启:
/usr/local/bin/redis-cli shutdown
/usr/local/bin/redis-server /etc/redis.conf
3. 登录验证
设置redis认证密码后,客户端登录时需要使用-a参数输入认证密码,不添加该参数虽然也可以登录成功,但是没有任何操作权限。如下:

Redis-cli -h host -p port  -a pwd
-h:指定主机,默认主机
-p:指定端口,默认6379
-a:指定密码
--help:查看帮助

redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.
使用密码认证登录,并验证操作权限:

redis-cli -h 127.0.0.1 -p 6379 -a 123456
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "123456"

看到类似上面的输出,说明Reids密码认证配置成功。

除了按上面的方式在登录时,使用-a参数输入登录密码外。也可以不指定,在连接后进行验证:
redis-cli -h 127.0.0.1 -p 6379

127.0.0.1:6379> auth myPassword
OK
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "123456"
127.0.0.1:6379> 
  1. 在命令行客户端配置密码(redis重启前有效)
    前面介绍了通过redis.conf配置密码,这种配置方式需要重新启动Redis。也可以通命令行客户端配置密码,这种配置方式不用重新启动Redis。配置方式如下:

127.0.0.1:6379> config set requirepass newPassword
OK
127.0.0.1:6379> config get requirepass

  1. “requirepass”
  2. “newPassword”
    注意:使用命令行客户端配置密码,重启Redis后仍然会使用redis.conf配置文件中的密码。
  1. 在Redis集群中使用认证密码
    如果Redis服务器,使用了集群。除了在master中配置密码外,也需要在slave中进行相应配置。在slave的配置文件中找到如下行,去掉注释并修改与master相同的密码即可:

masterauth master-password

注意:
yum 安装redis , 设置密码可以 直接打开 requirepass ,后面接密码
另外,必须关掉bind 127.0.0.1 (只允许本机访问)之后,外部才能访问redis,否则无法访问,报错 connect refuse。

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