gpt4 book ai didi

mysql - 为什么 Google Cloud SDK (gcloud) 尝试访问本地 MySQL 实例?

转载 作者:行者123 更新时间:2023-11-29 02:55:20 24 4
gpt4 key购买 nike

几周前,我在我的 Windows 工作站上安装了 Google Cloud SDK (gcloud)。我注意到每次运行命令时,我都会看到类似于以下内容的输出:

MySQL:找不到命令

... 在正常命令开始之前。我假设 SDK 检测到我在我的工作站上安装了 MySQL,并且正在尝试(以非常错误的方式)连接到它以获得 Cloud SQL 支持。这很烦人,但我并没有太在意。

今天我运行了一个 gcloud components update 命令,现在 SDK 完全无法运行。显然 Google 修复了 MySQL 命令的 PATH 问题,因为 SDK 在每次执行时都成功调用了 mysql.exe

它正在尝试连接 MySQL 用户 Utilities,并提示我输入密码。当然我不知道密码应该是什么,因为我没有创建这个用户。

我进入 MySQL Workbench 并将此用户的密码设置为已知值,这样我就可以通过 SDK 触发的密码提示。但是,现在的问题是,我键入的任何 gcloud 命令都会让我进入 MySQL shell session !

什么鬼?我不确定为什么 Cloud SDK 如此坚持访问我本地的 MySQL 环境。我们确实使用 Cloud SQL,但我对使用 gcloud 来管理它没有特别的兴趣(尤其是当它有问题时)。我现在无法从我的本地环境中删除 Cloud SQL 组件...因为再一次,任何 gcloud 命令只会将我放入 MySQL shell。所以我想我的下一步是将 SDK 从我的工作站上完全删除,然后尝试在不选择 Cloud SQL 的情况下再次安装。为什么这些都是必要的?

更新:

吹走我的 Cloud SDK 环境并重新安装并没有使问题消失。但是,从我的系统 PATH 中删除 mysql.exe 就可以了。显然,当 Cloud SDK 在您的路径中检测到 MySQL 时,当前版本的 Cloud SDK 立即中断(至少在 Windows 上)。我想知道这是如何通过 QA 的?

gcloud info 的输出如下(已编辑电子邮件地址和当前项目 ID):

> gcloud info
Google Cloud SDK [0.9.67]

Platform: [Windows, x86_64]
Python Version: [2.7.6 (default, Nov 10 2013, 19:24:24) [MSC v.1500 64 bit (AMD64)]]
Site Packages: [Disabled]

Installation Root: [C:\Program Files\Google\Cloud SDK\google-cloud-sdk]
Installed Components:
core: [2015.06.30]
bq-win: [2.0.18]
core-win: [2015.06.02]
gcloud: [2015.06.30]
windows-ssh-tools: [2015.06.02]
gcutil-msg: [2015.06.09]
gsutil: [4.13]
bq: [2.0.18]
preview: [2015.06.30]
gsutil-win: [4.12]
System PATH: [C:\Program Files\Google\Cloud SDK\google-cloud-sdk\bin\..\bin\sdk;C:\Program Files\ConEmu;C:\Program Files\ConEmu\ConEmu;C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Windows Azure Tools\Docker\;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Users\Steve\.dnx\bin;C:\Program Files\Microsoft DNX\Dnvm\;C:\Program Files (x86)\nodejs\;C:\Program Files (x86)\GtkSharp\2.12\bin;C:\HashiCorp\Vagrant\bin;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files (x86)\Git\cmd;C:\Program Files\Google\Cloud SDK\google-cloud-sdk\bin;C:\PROGRA~2\Groovy\GROOVY~1.3\bin;C:\Users\Steve\.dnx\runtimes\dnx-coreclr-win-x86.1.0.0-beta5\bin;C:\Users\Steve\.dnx\bin;C:\Dev\gradle-2.4\bin;C:\Users\Steve\AppData\Roaming\npm;C:\Users\Steve\AppData\Local\Code\bin;C:\Program Files\Boot2Docker for Windows]
Cloud SDK on PATH: [True]

Installation Properties: [C:\Program Files\Google\Cloud SDK\google-cloud-sdk\properties]
User Config Directory: [C:\Users\Steve\AppData\Roaming\gcloud]
User Properties: [C:\Users\Steve\AppData\Roaming\gcloud\properties]
Current Workspace: [None]
Workspace Config Directory: [None]
Workspace Properties: [None]

Account: [...]
Project: [...]

Current Properties:
[core]
project: [...]
account: [...]
disable_usage_reporting: [False]

Logs Directory: [C:\Users\Steve\AppData\Roaming\gcloud\logs]
Last Log File: [C:\Users\Steve\AppData\Roaming\gcloud\logs\2015.07.06\11.43.23.734000.log]

最佳答案

我无法发表评论,所以将发布作为答案。

您可能以混淆 gcloud 的方式设置了一些环境变量。您还可以从命令行发布 set cloudsdk 的输出吗?那应该打印所有带有前缀“cloudsdk”的环境变量。您可以将它重定向到一个文件,以便更容易复制:set cloudsdk > environment_cloudsdk.txt

不确定这是怎么发生的。如果 CLOUDSDK_ 环境变量为空,并且 gcloud.cmd 正确,则 gcloud 根本不应该接触 mysql。 “c:\Program Files\Google\Cloud SDK\google-cloud-sdk\bin\gcloud.cmd”在顶部列出了每个环境变量的作用。确保它们未设置。此外,当您重新安装 Cloud SDK 时,请确保目录“c:\Program Files\Google\Cloud SDK\”已正确删除,并且 PATH var 中没有关于它的任何内容。

关于mysql - 为什么 Google Cloud SDK (gcloud) 尝试访问本地 MySQL 实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31248909/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com