关于 json:在 Raspberry 上运行 Google Cloud SQL 代理

Running Google Cloud SQL Proxy on Raspberry

我在尝试将运行 ubuntu mate 的 raspberry 连接到我的 Google Cloud SQL 实例时遇到错误。

这些是我安装的步骤:

1
2
3
git clone https://github.com/GoogleCloudPlatform/cloudsql-proxy
cd cloudsql-proxy/
sudo sh download_proxy.sh

我的实例是这样配置的(我删除了图像和代码中的一些字符):
Instance

我没有设置网络,因为我将使用代理

然后我将我的 JSON 密钥下载到同一个文件夹中。

1
wget https://drive.google.com/file/d/my_key.json

然后启动代理

1
2
sudo ./cloud_sql_proxy -instances=be   -     21:us-central1:be   =tcp:3306 \\
                  -credential_file=./my_key.json &

但我得到了错误:

pi@pi:~/cloudsql-proxy$ ./cloud_sql_proxy: 1: ./cloud_sql_proxy:
Syntax error:")" unexpected

我已经尝试删除 .json 并且在没有凭据之前我遇到了同样的错误,我认为问题出在设置中。

我的目录是:
dir


download_proxy.sh 下载为 CPU 的 amd64 架构(又名 x86_64)编译的代理。你的树莓派有一个 ARM CPU,所以这个二进制文件不能在你的机器上运行。

Google 不提供代理的预构建 ARM 版本。我什至不知道它是否能够在 ARM CPU 上构建。如果可能,您必须这样做:

  • 安装 go,例如与 apt-get install golang
  • 按照 https://github.com/golang/go/wiki/GOPATH 设置一个 GOPATH
  • 运行 go get github.com/GoogleCloudPlatform/cloudsql-proxy/cmd/cloud_sql_proxy
  • 使用 $GOPATH/cloud_sql_proxy -instances=... 运行代理

  • 好的。

    我正在分享我为使它工作所做的工作,作为大卫,我不知道我下载的是什么版本。

    我试图避免安装 Go,但这是安装它的唯一方法。

    1
    2
    3
    4
    5
    6
    sudo apt-get install golang-go
    export GOPATH=$HOME/go
    go get github.com/GoogleCloudPlatform/cloudsql-proxy/cmd/cloud_sql_proxy
    cd $GOPATH/bin
    wget your_key.json
    sudo ./cloud_sql_proxy -instances=the_full_name_of_the_instance=tcp:3306 -credential_file=./your_key.json &

    但是我得到了一个错误,因为我已经在同一个端口本地运行了 mysql

    所以现在我使用的是 unix soquet

    1
    sudo ./cloud_sql_proxy -instances=the_full_name_of_the_instance -credential_file=./your_key.json &

    然后它就可以连接了:)

    谢谢大家


    我在编译 SQL 代理时发现了这个问题。但是,我确实发现这里的说明在我的树莓派 3 上效果很好。必须确保删除所有以前的安装,然后重新安装它

    1
    2
    3
    wget https://storage.googleapis.com/golang/go1.9.linux-armv6l.tar.gz
    sudo tar -C /usr/local -xzf go1.9.linux-armv6l.tar.gz
    export PATH=$PATH:/usr/local/go/bin # put into ~/.profile`