我使用的是Google Cloud SQL第二代,并在我的本地机器上安装了cloud-sql-proxy。
在我的本地机器上,我只需连接到127.0.0.1:3306,在NodeJs、Php和mysql命令行客户端上运行良好。
在Google App Engine托管的VM (灵活环境)上,我使用的是unix_socket或socketPath '/cloudsql/MY_PROJECT_ID:us-central1:SQL_INSTANCE‘。
不能工作的是MySQL工作台,我不知道如何连接它。它是否使用其他协议或cloud-sql-proxy仅用于命令行?
下面是我如何启动cloud-sql-proxy
这是可行的:
./cloud_sql_proxy \
-instances=MY_PROJECT:us-central1:MY_SQL_INSTANCE=tcp:3306 \
-credential_file='/Users/ME/SomeFolder/MY_SERVICE_ACC_KEY.json'在那之后,我会使用MySQL工作台尝试连接到127.0.0.1:3306,但我总是得到一个错误:
SSL connection error: socket layer receive error本地PHP,NodeJS和mysql客户端可以工作。
任何帮助都将不胜感激
发布于 2016-04-04 02:04:16
好的,我让它工作了,并且相信它可能对其他人也有用:
我不能让它在tcp连接上工作,但我知道如何在没有fuse的情况下使用socket方法:
sudo ./cloud_sql_proxy \
-dir=/cloudsql \
-instances=MY_PROJECT:MY_SQL_REGION:MY_SQL_INSTANCE \
-credential_file='/Users/ME/some_folder/MY_SERVICE_ACC_KEY.json'这里有几件事:
不要在instances之后指定tcp端口,否则它将使用tcp连接instead.
在MySQL工作台中:
选择Database > Manage Connections...
Standard (TCP/IP)
Connection > Connection Method Parameters Host: localhost Port:3306 (虽然我不认为这是您的用户名和密码,但请输入socket=/cloudsql/MY_PROJECT:MY_SQL_REGION:MY_SQL_INSTANCE
Test Connection ),成功。发布于 2016-04-04 05:26:59
此错误表示supported正在请求MySQL连接,代理不支持该连接。代理始终在本地计算机和实例之间使用SSL,因此不需要在MySQL协议级别启用SSL。
您可以尝试在MySQL工作台连接设置中关闭SSL吗?
https://stackoverflow.com/questions/36388463
复制相似问题