首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >指定要与gcloud MySQL连接的密码

指定要与gcloud MySQL连接的密码
EN

Stack Overflow用户
提问于 2019-11-21 10:42:36
回答 2查看 1.5K关注 0票数 1

在连接到gcloud SQL实例时,我希望在单个语句中传递密码和用户id。我该怎么做?我尝试了几个组合,但没有得到任何解决方案。

例如:

代码语言:javascript
复制
gcloud sql connect scegold2-f44e-mysql --user=username --password=password --quiet

它显示密码附近的错误。

我能得到任何帮助和指导。我做错什么了吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-11-21 12:40:47

正如在文档中提到的,"gcloud sql connect"命令的标志是:

代码语言:javascript
复制
--user=USER, -u USER

基于此,您不能在同一命令行中指定密码,即使通过指定“无密码”创建实例,它也将向您询问密码(在这种情况下,您只应按enter键)。

票数 0
EN

Stack Overflow用户

发布于 2019-11-25 11:53:17

可以使用expect程序将每个参数一次传递给gcloud sql connect,包括密码,例如使用这个autoconnect.exp脚本:

代码语言:javascript
复制
#!/usr/bin/expect -f
   
# Call command with "expect autoconnect.exp $INSTANCE $USER $PASSWORD",
# or place the arguments literally in the script, where the variables are.
set INSTANCE [lindex $argv 0]
set USER [lindex $argv 1]
set PASSWORD [lindex $argv 2] 

set timeout -1

spawn gcloud sql connect $INSTANCE --user=$USER
expect "*Password*"
send -- "$PASSWORD\r"
expect eof

这样做是等待gcloud命令提示输入密码(expect "*Password*"的意思是等待包含“密码”的行),然后将密码提供给它,然后正常打开数据库管理系统。

expect 这里的一个很好的向导。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58972980

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档