详解Redis使用认证密码登录,Redis可视化工具

作者: 数据库信息  发布:2019-10-04

1、前言

  从接触Redis也有两年,平时就使用它来做缓存层,它给我的印象就是很强大,内置的数据结构很齐全,加上Redis5.0的到来,新增了很多特色功能。而Redis5.0最大的新特性就是多出了一个数据结构Stream,它是一个新的强大的支持多播的可持久化的消息队列,可以去了解学习一下哟。言归正传,之所以写下这篇文章是因为公司里面的电脑一直都有装Redis可视化工具,用起来很方便,感觉很有必要在家里自己的电脑装上一个,在安装使用的过程中也出现之前遇到的一些小问题,因此写下这篇博客记录一下。

 

Redis默认配置是不需要密码认证的,也就是说只要连接的Redis服务器的host和port正确,就可以连接使用。这在安全性上会有一定的问题,所以需要启用Redis的认证密码,增加Redis服务器的安全性。

2、软件安装

软件版本:

  1、CentOS 7

  2、Redis3.2

  3、redis-desktop-manager-0.8.8.384

百度云(可视化工具): 密码:ahfw

官网:

1. 修改配置文件

  2.1、安装Redis

CentOS 7直接yum安装

yum install redis  // 此方式直接安装不是最新的版本呢

安装最新的版本需要安装Remi的软件源:

yum install -y http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
yum --enablerepo=remi install redis

安装完毕后启动Redis测试一下是否安装成功:

1、启动
service redis start
或者
systemctl start redis
2、检查是否启动
ps -A|grep redis
3、查看安装时创建的文件 
rpm -ql redis
4、查看redis版本
redis-cli --version
5、设置开机自启
chkconfig redis on
或者
systemctl enable redis.service

看到如下则表示启动成功

图片 1

连接Redis:

redis-cli

图片 2

Redis的配置文件默认在/etc/redis.conf,找到如下行:

  2.2、安装redis-desktop-manager

  Windows下直接安装即可

  可参考官网

 

#requirepass foobared

3、测试连接并抛出问题

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

  3.1、测试连接

  图片 3

直接链接可能会出现下面问题:

图片 4

requirepass myPassword (其中myPassword就是要设置的密码)

  3.2、抛出问题

 1、Redis安装后默认只能在localhost访问,若在进行远程访问可能会被限制,不能连接

 2、在Linux主机里面,一般都打开防火墙,因此我们通过Reids的默认端口6379进行访问,可能被限制

 3、在上面例子中,我们直接使用redis-cli直接连接就可以访问了。那如果放开权限允许远程登录,没有验证机制将会导致安全问题

 4、假设开放远程连接权限,并设置了验证机制,那么Redis的主从复制又需要如何处理呢

2. 重启Redis

4、解决问题

如果Redis已经配置为service服务,可以通过以下方式重启:

  4.1、问题1

  我们可以通过修改Redis的配置文件即可解决

a、注释掉bind 127.0.0.1允许所有的ip访问redis

b、将修改为:protected-mode no (Redis3.2新增的)

whereis redis    // 查找配置文件路径
vi /etc/redis.conf   
systemctl restart redis   // 修改好配置文件后保存并重启

图片 5

图片 6

图片 7

解决完这个问题后,即表明Redis软件本身允许远程连接了,但是我们还需要解决防火墙的问题才可以进行远程连接。

service redis restart

  4.2、问题2

  CentsOS7防火墙改成firewall,不再是之前的iptables,因此开放端口的方式有点区别。

开放端口如下:
firewall-cmd --zone=public --add-port=6379/tcp --permanent
--zone           //作用域
--add-port=6379/tcp  //添加端口,格式为:端口/通讯协议
--permanent       //永久生效,没有此参数重启后失效
重启防火墙:
systemctl stop firewalld.service 
systemctl start firewalld.service
systemctl restart firewalld.service

 图片 8

  测试连接:

图片 9

图片 10

  连接成功

如果Redis没有配置为service服务,可以通过以下方式重启:

  4.2、问题3

   设置密码的验证机制有两种方式,包括配置文件修改(永久)和命令行修改(临时,重启服务后无效)

  a、配置文件修改

  将去掉#requirepass foobared前面的注释,并更改为自己的密码 requirepass 密码,最后重启Redis

图片 11

图片 12

   测试:

  从下面的命令行可以看到,不输入密码,则获取不到数据,即设置密码验证机制成功

  图片 13

  图形化工具同理:

图片 14图片 15

  b、命令行修改

config get requirepass        // 获取校验密码
config set requirepass mypassword2      //设置密码

 图片 16

/usr/local/bin/redis-cli shutdown
/usr/local/bin/redis-server /etc/redis.conf

  4.4、问题4

  若master设置了密码则slave也要设置相应的密码参数否则无法进行正常复制的。
  slave中配置文件内找到如下行,移除注释,修改密码即可。

#masterauth  mstpassword 

 

(以上是自己的一些见解,若有不足或者错误的地方请各位指出)

 作者:那一叶随风   

 原文地址:  

 声明:本博客文章为原创,只代表本人在工作学习中某一时间内总结的观点或结论。转载时请在文章页面明显位置给出原文链接

 

3. 登录验证

设置Redis认证密码后,客户端登录时需要使用-a参数输入认证密码,不添加该参数虽然也可以登录成功,但是没有任何操作权限。如下:

$ ./redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.

本文由金沙澳门官网发布于数据库信息,转载请注明出处:详解Redis使用认证密码登录,Redis可视化工具

关键词: 金沙澳门官网

上一篇:Redis常用命令与配置
下一篇:没有了