Mysql 如何使用“连接到k8s上的我的数据库”;“命令”;readinessProbe的说明?
朋友们,我在这里尝试实现一个readinessProbe,如下所示:Mysql 如何使用“连接到k8s上的我的数据库”;“命令”;readinessProbe的说明?,mysql,kubernetes,yaml,Mysql,Kubernetes,Yaml,朋友们,我在这里尝试实现一个readinessProbe,如下所示: readinessProbe: exec: command: ["mysql", "-u root", "-p $(MYSQL_ROOT_PASSWORD)", "SHOW DATABASES;"] initialDelaySeconds: 5 periodSeconds: 2 timeoutSeconds:
readinessProbe:
exec:
command: ["mysql", "-u root", "-p $(MYSQL_ROOT_PASSWORD)", "SHOW DATABASES;"]
initialDelaySeconds: 5
periodSeconds: 2
timeoutSeconds: 1
readinessProbe:
exec:
command:
- "bash"
- "-c"
- "mysql --user=${MYSQL_USER} --password=${MYSQL_PASSWORD} --execute=\"SHOW DATABASES;\""
但我收到一个拒绝访问错误:错误1045(28000):拒绝用户“root”@“localhost”的访问(使用密码:YES)
当我在pod中执行时,我可以正常连接到数据库,因此我认为执行连接命令是做错了什么。你知道我该如何解决这个问题吗?它对我来说是这样的:
readinessProbe:
exec:
command: ["mysql", "-u root", "-p $(MYSQL_ROOT_PASSWORD)", "SHOW DATABASES;"]
initialDelaySeconds: 5
periodSeconds: 2
timeoutSeconds: 1
readinessProbe:
exec:
command:
- "bash"
- "-c"
- "mysql --user=${MYSQL_USER} --password=${MYSQL_PASSWORD} --execute=\"SHOW DATABASES;\""
但如果我想使用括号,我仍然不知道如何“翻译”这个词。它对我来说是这样的:
readinessProbe:
exec:
command: ["mysql", "-u root", "-p $(MYSQL_ROOT_PASSWORD)", "SHOW DATABASES;"]
initialDelaySeconds: 5
periodSeconds: 2
timeoutSeconds: 1
readinessProbe:
exec:
command:
- "bash"
- "-c"
- "mysql --user=${MYSQL_USER} --password=${MYSQL_PASSWORD} --execute=\"SHOW DATABASES;\""
但是,如果我想使用括号,我仍然不知道如何“翻译”它。当您为
命令使用JSON数组语法:
和类似选项时,您可以精确地指定如何将命令拆分为“单词”。所以当选项说
命令:[……,“-u root”,…]
这是一个包含嵌入空间的单个选项(我可以大声说“dash u space root”)。在交互式shell中,它相当于引用选项mysql'-u root'…
从您的错误消息中,它看起来像是mysql
客户端工具将空格解释为用户名的一部分;你不会想要的。可以自己将其拆分为两个单独的选项,也可以删除选项和参数之间的空格
命令:[……,“-u”,“root”,…]
命令:[……,“-uroot”,…]
当您为命令:
和类似选项使用JSON数组语法时,您可以精确地指定命令如何拆分为“字”。所以当选项说
命令:[……,“-u root”,…]
这是一个包含嵌入空间的单个选项(我可以大声说“dash u space root”)。在交互式shell中,它相当于引用选项mysql'-u root'…
从您的错误消息中,它看起来像是mysql
客户端工具将空格解释为用户名的一部分;你不会想要的。可以自己将其拆分为两个单独的选项,也可以删除选项和参数之间的空格
命令:[……,“-u”,“root”,…]
命令:[……,“-uroot”,…]
我猜要么“-u”,“root”
需要是单独的选项,要么“-uroot”
,因为一个选项不能有空格。(是否在错误消息中显示了“root”
,并带有空格?)是的,David,在日志中确实显示了“root”。谢谢你的提示。仍在学习这些东西是如何工作的。谢谢!我猜要么是“-u”,“root”
需要是单独的选项,要么是“-uroot”
,因为一个选项不能有空格。(是否在错误消息中显示了“root”
,并带有空格?)是的,David,在日志中确实显示了“root”。谢谢你的提示。仍在学习这些东西是如何工作的。谢谢!