redis - redis-cli 如何使用密码进行身份验证并发出命令?
问题描述
当没有设置密码时,我们可以发出例如;
>> redis-cli keys *
或者
>> redis-cli config set requirepass "aaaaaa"
但是,在我们发布了后者之后,第一个不再起作用并导致:
>> redis-cli keys *
(error) NOAUTH Authentication required.
我们需要进行身份验证。当然。
>> redis-cli AUTH aaaaaa
OK
>> redis-cli keys *
(error) NOAUTH Authentication required.
我们如何进行身份验证然后能够执行命令?
这不可能吗?只有Heredocs?
我试过了:
>> redis-cli AUTH aaaaaa && config set requirepass "aaaaaa"
但没有奏效。在 aaaaaa 之后也是分号。不行。
如何?
解决方案
这些AUTH
命令仅在 tcp 连接期间持续。每次新调用redis-cli
都会创建一个新连接,因此您必须在每次调用时进行身份验证。
可以在一次调用时执行多个 redis 命令redis-cli
:它们必须由\n
因此,这将起作用:
echo -e 'AUTH aaaaaa\nkeys *' | redis-cli
注意:另一个答案还提供了一种传递由\n
to分隔的参数的方法redis-cli
推荐阅读
- vue.js - Vue - 如何动态传递和使用多个组件作为道具
- linux - debezium postgres 找不到`io/debezium/util/IoUtil`
- android - Android 布局中带有百分比的背景
- c# - Excel 范围上的条件格式为每个单元格都具有向上箭头图标,而不管包含的值如何
- android - Gradle 任务 assembleDebug 失败,退出代码为 1 (Android Studio)
- java - 将 java XML SAX Parser 转换为 Web 应用程序 Tomcat
- scp - 错误:等待握手时超时
- html - 如何将 .PAT 文件转换为 .PNG?
- java - 如何删除 XML 中的 HTML 标签
- node.js - 如何在sequelize中使用非列变量