我尝试了下面这样的代码片段,但是第二个任务在主机的shell终端上执行,而不是在mysql上执行。如何在第一个任务中对打开的mysqlsh执行命令?我想登录到shell并检查mysql集群的状态。
tasks:
- name: "connect as clusteradmin"
shell: mysqlsh --uri admin@host1 -p'pass'
- name: "get cluster"
shell: var cluster=dba.getCluster('cluster')
- name: "check status of cluster"
shell: cluster.status()
register: Clustersts发布于 2021-07-30 15:08:56
尝试将您的请求放在带有参数'--execute=command‘的一行中。下面是一些对我有用的东西:
mysqlsh -uUSER -pPASSWORD -P 3306 --execute='util.checkForServerUpgrade()'
你的可能看起来如下:
- name: "connect as clusteradmin and get cluster"
shell: mysqlsh --uri admin@host1 -p'pass' --execute='var cluster=dba.getCluster('cluster')'
然后:
- name: "connect as clusteradmin and check status of cluster"
shell: mysqlsh --uri admin@host1 -p'pass' --execute='cluster.status()'
https://stackoverflow.com/questions/66902425
复制相似问题