我在尝试将运行ubuntu配对的raspberry连接到我的Google Cloud SQL实例时遇到错误。
这是我安装的步骤:
git clone https://github.com/GoogleCloudPlatform/cloudsql-proxy
cd cloudsql-proxy/
sudo sh download_proxy.sh
我没有设置网络,因为我将使用代理
然后我将我的JSON密钥下载到同一文件夹中。
wget https://drive.google.com/file/d/my_key.json
启动代理
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: 语法错误:")"意想不到
我尝试删除.json并且在没有凭证之前我遇到了同样的错误,我认为问题出在设置中。
感谢任何帮助:)
答案 0 :(得分:2)
download_proxy.sh
下载为CPU的amd64架构(又名x86_64)编译的代理。您的raspberry Pi有一个ARM CPU,因此这个二进制文件无法在您的计算机上运行。
Google不提供代理的预构建ARM版本。我甚至不知道它是否能够在ARM CPU上构建。如果可能,您必须这样做:
go
,例如apt-get install golang
go get github.com/GoogleCloudPlatform/cloudsql-proxy/cmd/cloud_sql_proxy
$GOPATH/cloud_sql_proxy -instances=...
答案 1 :(得分:0)
确定。
我正在分享我所做的工作,因为大卫我不知道我下载了什么版本。
我试图避免安装Go,但这是安装它的唯一方法。
Traceback (most recent call last):
File "dscr.cgi", line 90, in <module>
client_program()
File "dscr.cgi", line 79, in client_program
sum = serverId+";"+name+";"+host+";"+port+";"+proto+";"+user+";"+password+";"+key+";"+company+";"+officeAddr+";"+state+";"+country+";"+ladmin+";"+phone+";"+mobile+";"+email+";"+designation+";"+reportingMgr
TypeError: must be str, not int
但我收到一个错误,因为我已经在同一个端口运行localy的mysql
现在我正在使用unix soquet
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 &
然后它准备好连接:)
谢谢你们
答案 2 :(得分:0)
我在编译SQL代理时发现了问题。但是,我确实发现instructions here在我的raspberry pi 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`