今天看了一下 k8s的secret用法 https://kubernetes.io/zh/docs/concepts/configuration/secret/
难得今天有空闲时间, 就尝试用secret保存数据库的链接信息,
由于我的mysql的密码策略为MEDIUM,即 ,密码包括:数字、大写字母、小写字母、特殊符号、长度 8 位以上
mysql> select @@validate_password_policy;
+----------------------------+
| @@validate_password_policy |
+----------------------------+
| MEDIUM |
+----------------------------+
1 row in set (0.00 sec)
所以加多几个特殊符号,如下所示(当然,下面的密码只是例子, 主要是特殊符号)
# echo -n "helloworld#" |base64
aGVsbG93b3JsZCM=
# echo -n "helloworld#$*" |base64
aGVsbG93b3JsZCM=
# echo -n "helloworld#$asdfggjljll" |base64
aGVsbG93b3JsZCM=
当我用 helloworld#$* 作为密码时, 用专业的客户端软件, 连接mysql当然没有问题,
但base64编码后, 再反编码, 变成了 helloworld# , 导致k8s的容器里,程序一直连不上数据库, ko