带 `$` 符号的 Redis 密码在 Flink 调度脚本中被截断的解决方案 WRONGPASS invalid username-password pair or user is disabled

在实际生产使用中,如果你的 Redis 密码中包含 $ 符号,而你又通过调度脚本(如 DolphinScheduler)或 Shell 参数方式传递给 Flink,就可能造成密码被部分截断,进而导致:

WRONGPASS invalid username-password pair or user is disabled

这是因为 Shell 解释 $ 为变量展开符,后续字符被当作环境变量名或被空串替换,破坏了原本正确的密码。


问题场景

你在调度器的 Flink 启动参数中写:

-Dredis.password=vH8cX9uGGsFE$qbD

当 Shell 解析这个字符串时,$qbD 部分被视为变量(未定义则为空),真实传入 Flink 的密码就变成 vH8cX9uGGsFE,自然与服务端不符。


解决方法:在参数中使用反斜线转义 $

只需要在 $ 前加上 \,变成:

-Dredis.password=vH8cX9uGGsFE\$qbD

这样 Shell 会把 \$ 识别为“普通字符 $”,而不会再进行变量替换。最终传入 Flink 的字符串完整无缺,就能正常通过 Redis 认证。


总结

如果在脚本参数里直接包含 $ 而不做任何转义,就会被 Shell 截断或替换,从而出现“WRONGPASS”问题。解决方式十分简单:$ 前面加 \ 即可,保证 Shell 不做变量解析。这样就能让带 $ 符号的密码正常传递并成功连接到 Redis。

posted on   滚动的蛋  阅读(16)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2021-01-21 XXL-JOB BEAN运行模式
2020-01-21 Those Compelling,Thought-provoking Movies

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示