使用的是Windows服务器,通过Redis的exe文件安装好Redis服务后,修改文件redis.windows-service.conf来设置登录密码,然后再重启启动Redis服务,发现不成功,查看日志有如下报错:

syslog-ident = redis
Invalid argument during startup: unknown conf file parameter :  requirepass

添加密码只是把
 

# requirepass foobared

换成了

requirepass 12345678

好像都正确但还是报错日志,说找不到有效参数requirepass,这就奇怪了,如果你修改的是端口的话很可能报的就是:

syslog-ident = redis
Invalid argument during startup: unknown conf file parameter :  port

配置文件明明就有值,新手会一脸懵,老司机看到这里就已经猜到为什么了。
更多内容,请先点击下方的捐赠按钮吧。

报错根因排查清单

配置文件里明明有 requirepass 却报 unknown parameter,几乎都是"行内容看着正常、字节层面不正常"造成的,Windows 平台尤其常见。

  • 行首混入了全角空格或不可见字符,肉眼难辨,删除该行重新手工输入;
  • 用记事本编辑保存时带入了格式问题,改用 VS Code 等编辑器以 UTF-8 无 BOM 保存;
  • 确认修改的是服务实际加载的配置文件:Windows 服务方式安装的 Redis,注册表里记录了启动参数指定的 conf 路径;
  • requirepass 与密码之间用半角空格分隔,不要加引号、行尾不要有中文逗号;
  • 改完用命令行启动方式先验证一次配置,再注册回服务。

💰 此内容为付费阅读 请先登录