redis使用技巧小结
一、Redis 密码设置和查看密码
redis没有实现访问控制这个功能,但是它提供了一个轻量级的认证方式,可以编辑redis.conf配置来启用认证。
1、初始化Redis密码:
在配置文件中有个参数:requirepass,这个就是配置redis访问密码的参数;
比如 requirepass password
(Ps:需重启Redis才能生效) redis的查询速度是非常快的,外部用户一秒内可以尝试多大150K个密码;所以密码要尽量长(对于DBA 没有必要必须记住密码);
2、不重启Redis设置密码:
在配置文件中配置requirepass的密码(当redis重启时密码依然有效)。
redis 127.0.0.1:6379> config set requirepass password
查询密码:
redis 127.0.0.1:6379> config get requirepass
(error) ERR operation not permitted
密码验证:
redis 127.0.0.1:6379> auth password
OK
再次查询:
redis 127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "password"
PS:如果配置文件中没添加密码 那么redis重启后,密码失效;
3、登陆有密码的Redis:
在登录的时候的时候输入密码:
redis-cli -p 6379 -a password
先登陆后验证:
redis-cli -p 6379
redis 127.0.0.1:6379> auth password
OK
AUTH命令跟其他redis命令一样,是没有加密的;阻止不了攻击者在网络上窃取你的密码;
认证层的目标是提供多一层的保护。如果防火墙或者用来保护redis的系统防御外部攻击失败的话,外部用户如果没有通过密码认证还是无法访问redis的。
二、启动、停止redis:
启动redis:
node02执行以下命令启动redis
cd /export/servers/redis-3.2.8/
src/redis-server redis.conf
停止redis:
redis-cli -h node02 -p 6379 shutdown
或者直接kill -9 redis进程号
三、连接redis客户端:
node01执行以下命令连接redis客户端
cd /export/servers/redis-3.2.8
src/redis-cli -h node01 -p 6379 -a password
四、批量删除keys:
1.未登录客户端的情况下:
redis为默认端口号6379,无连接密码,删除命令如下:
redis-cli keys "key*" | xargs redis-cli del
redis不为默认端口号6379,连接密码为"password",删除命令如下:
redis-cli -h node02 -p 6379 -a password keys "itcast*" | xargs redis-cli -h node02 -p 6379 -a password del
但是会报错:(error) ERR wrong number of arguments for 'del' command
2.登录redis客户端后,也可以批量删除,如下:
DEL key1 key2 #删除多个key
flushdb #删除当前数据库中的所有Key
flushall #删除所有数据库中的key
五、redis绑定多个IP:
bind 192.168.8.100 127.0.0.1 #多个IP之间用空格进行分隔
bind 0.0.0.0 #可以绑定任意IP
六、redis的主从复制架构需要密码验证:
redis master配置了密码,需要进行主从同步的话,要在所有的slave的redis.conf中配置验证:masterauth 123456
否则查看redis.log,可以发现报错信息如下:
5933:S 05 Sep 20:46:09.100 * Connecting to MASTER 192.168.8.100:6379
5933:S 05 Sep 20:46:09.101 * MASTER <-> SLAVE sync started
5933:S 05 Sep 20:46:09.101 * Non blocking connect for SYNC fired the event.
5933:S 05 Sep 20:46:09.103 * Master replied to PING, replication can continue...
5933:S 05 Sep 20:46:09.103 * (Non critical) Master does not understand REPLCONF listening-port: -NOAUTH Authentication required.
5933:S 05 Sep 20:46:09.104 * (Non critical) Master does not understand REPLCONF capa: -NOAUTH Authentication required.
5933:S 05 Sep 20:46:09.104 * Partial resynchronization not possible (no cached master)
5933:S 05 Sep 20:46:09.105 # Unexpected reply to PSYNC from master: -NOAUTH Authentication required.
5933:S 05 Sep 20:46:09.105 * Retrying with SYNC...
5933:S 05 Sep 20:46:09.106 # MASTER aborted replication with an error: NOAUTH Authentication required.
七、哨兵模式,sentinel和redis身份验证配置:
当一个master配置为需要密码才能连接时,客户端和slave在连接时都需要提供密码。
redis.conf文件中:
(1)master通过requirepass设置自身的密码,不提供密码无法连接到这个master。
(2)slave通过masterauth来设置访问master时的密码。
但是当使用了sentinel时,由于一个master可能会变成一个slave,一个slave也可能会变成master,所以需要同时设置上述两个配置项。
sentinel.conf文件中,需要配置:
sentinel monitor mymaster 192.168.8.100 6379 2
sentinel auth-pass mymaster 123456 # Set the password to use to authenticate with the master and slaves.
protected-mode no(设置成:protected-mode no;保护模式关闭,如果你不关闭保护模式,启动哨兵的时候,无法正常运行)
注意:(1)如果redis的master和slave设置了密码,则必须要设置protected-mode no,否则master的redis-server进程意外停止时,redis.log日志文件中会打印错误信息:
3936:S 05 Sep 22:40:38.745 * Connecting to MASTER 192.168.8.100:6379
3936:S 05 Sep 22:40:38.746 * MASTER <-> SLAVE sync started
3936:S 05 Sep 22:40:38.747 # Error condition on socket for SYNC: Connection refused
(2)可能需要master和slave的密码设置相同,不过没有验证过设置不同密码的话哨兵模式会不会失败。
八、
redis使用技巧小结的更多相关文章
- PowerDesigner实用技巧小结(3)
PowerDesigner实用技巧小结(3) PowerDesigner 技巧小结 sqlserver数据库databasevbscriptsqldomain 1.PowerDesigner 使用 M ...
- PowerDesigner实用技巧小结(2)
PowerDesigner实用技巧小结 1.ORACLE数据库建模时,由于ORACLE的表名.字段名如果是小写会有一定的麻烦,需要将小写转化为大写? (1)在打开pdm的情况下,进入Tools-Mod ...
- PHP操作Redis常用技巧
这篇文章主要介绍了PHP操作Redis常用技巧,结合实例形式总结分析了php针对redis的连接.认证.string.hash等操作技巧与注意事项,需要的朋友可以参考下 本文实例讲述了PHP操作Red ...
- Spring Boot + MyBatis + Druid + Redis + Thymeleaf 整合小结
Spring Boot + MyBatis + Druid + Redis + Thymeleaf 整合小结 这两天闲着没事想利用**Spring Boot**加上阿里的开源数据连接池**Druid* ...
- CentOS系统中的passwd命令实用技巧小结
这篇文章主要介绍了Linux系统中的passwd命令实用技巧小结,是Linux入门学习中的基础知识,需要的朋友可以参考下 先来回顾一下passwd命令的基本用法: Linux passwd命令用来 ...
- 转:Redis监控技巧
转自:http://blog.nosqlfan.com/html/4166.html Redis监控技巧 作者:nosqlfan on 星期二, 一月 29, 2013 · 16条评论 [阅读:25, ...
- github搜索技巧小结
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- 10 个 Redis 建议/技巧
转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/145.html?1455790611 Redis 在当前的技术社区里是非常 ...
- Redis日常操作命令小结
Redis缓存服务是运维工作中比较常见的一种维护工作,下面就redis日常操作命令在此做一简单小结,以备查用: 1)连接redis服务命令# redis-cli -h redis主机ip或主机域名 - ...
随机推荐
- Win10 系统运行VsCode出现白屏的问题(亲测有效)
Win10 系统运行VsCode出现白屏的问题(亲测有效) 新买的本本,昨天VScode运行还正常,今天打开一直白屏,什么都没有,只有几个小格格,也不是卡死的那种,可以轻松关闭, 刚开始以为版本问题, ...
- linux 内存,cpu占用最高进程查询
1. 可以使用一下命令查使用内存最多的10个进程 ps -aux | sort -k4nr | head -n 10 2. 可以使用一下命令查使用CPU最多的10个进程 ps -aux | sort ...
- POJ 3177 Redundant Paths (tarjan边双连通分量)
题目连接:http://poj.org/problem?id=3177 题目大意是给定一些牧场,牧场和牧场之间可能存在道路相连,要求从一个牧场到另一个牧场要有至少两条以上不同的路径,且路径的每条pat ...
- JavaScript arguments对象浅析
arguments对象 概念 用法 属性 arguments对象 概念 arguments 是一个类数组对象.代表传给一个function的参数列表. 用法 function a() { consol ...
- 4.万能的Map+模糊查询
万能的Map 当数据或者属性很多的时候,可以选择性的单独改变密码或者用户名等等 UserMapper.java int updateUserByMap(Map<String,Object> ...
- ASP.NET Core搭建多层网站架构【0-前言】
2020/01/26, ASP.NET Core 3.1, VS2019 摘要:基于ASP.NET Core 3.1 WebApi搭建后端多层网站架构 目录 0-前言 1-项目结构分层建立 2-公共基 ...
- PAT 1010 Radix (二分)
Given a pair of positive integers, for example, 6 and 110, can this equation 6 = 110 be true? The an ...
- linux 系统 vi编辑器下的删除
vi filename 进入vi模式 首先 最常用的 dd:删除 光标所在的整行: d1G: 删除光标所在到第一行的所有数据: dG: 删除光标到最后一行的所有数据 : d$:删除光标到 ...
- MySQLroot密码的恢复方法
MySQLroot密码的恢复方法 有可能你的系统没有 safe_MySQLd 程序(比如我现在用的 ubuntu操作系统, apt-get安装的MySQL) , 下面方法可以恢复 1.停止MySQLd ...
- 安卓之文本视图TextView及跑马灯效果
一.基本属性和设置方法 二.跑马灯用到的属性与方法说明 三.省略方式的取值说明 四.跑马灯效果案例代码 (1)布局xml文件 <?xml version="1.0" en ...