Cloud SQL Compute Engine 上的代理出现 tcp6 错误
Cloud SQL Proxy on Compute Engine gives tcp6 error
我刚刚创建了一个新的 Compute Engine 实例和 Cloud SQL(第二代),我正在尝试让 Cloud SQL 代理工作,以便我可以连接到 Cloud SQL计算引擎。这是我安装代理的方式:
wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64
mv cloud_sql_proxy.linux.amd64 cloud_sql_proxy
chmod +x cloud_sql_proxy
sudo mkdir /cloudsql; sudo chmod 777 /cloudsql
现在,当我尝试 运行 代理服务器时出现错误。以下是我 运行 设置代理的方式:
sudo ./cloud_sql_proxy -dir=/cloudsql -fuse
这是我收到的错误:
2016/04/09 03:42:37 Protocol tcp6 not supported: listen tcp6 [::1]:0:
bind: cannot assign requested address
2016/04/09 03:42:37 couldn't unmount fuse directory "/cloudsql":
&exec.Error{Name:"fusermount", Err:(*errors.errorS
tring)(0xc820011250)}
2016/04/09 03:42:37 Mounting "/cloudsql"...
2016/04/09 03:42:37 Could not start fuse directory at "/cloudsql":
cannot mount "/cloudsql": fusermount: exec: "fusermount": executable
file not found in $PATH
更新:
无需使用 Fuse 即可正常运行。这是命令我 运行:
./cloud_sql_proxy -dir=/cloudsql --instances=my-project:us-central1:my-sql-instance-name=tcp:3306 &
mysql -u root --port 3306 --host 127.0.0.1 -p
我仍然看到错误 Protocol tcp6 not supported: listen tcp6 [::1]:0: bind: cannot assign requested address
,但我想这只是一个警告?
是的,tcp6 消息是一个警告 - 它只是说明您 运行 所在的系统不支持 ipv6(GCE 中的一个已知问题)。我已经删除了该日志消息,事实证明它不是很有用(而且,正如您所展示的,可能会造成混淆)。
在 Proxy 退出之前打印的消息是您关心的消息:它抱怨找不到 'fusermount',这意味着您的系统上没有安装 FUSE 客户端工具。如果您想使用 FUSE,您可以从源代码编译它们,但如果您可以使用“-instances”标志,那么就没有必要走那条路了。
我刚刚创建了一个新的 Compute Engine 实例和 Cloud SQL(第二代),我正在尝试让 Cloud SQL 代理工作,以便我可以连接到 Cloud SQL计算引擎。这是我安装代理的方式:
wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64
mv cloud_sql_proxy.linux.amd64 cloud_sql_proxy
chmod +x cloud_sql_proxy
sudo mkdir /cloudsql; sudo chmod 777 /cloudsql
现在,当我尝试 运行 代理服务器时出现错误。以下是我 运行 设置代理的方式:
sudo ./cloud_sql_proxy -dir=/cloudsql -fuse
这是我收到的错误:
2016/04/09 03:42:37 Protocol tcp6 not supported: listen tcp6 [::1]:0: bind: cannot assign requested address
2016/04/09 03:42:37 couldn't unmount fuse directory "/cloudsql": &exec.Error{Name:"fusermount", Err:(*errors.errorS tring)(0xc820011250)}
2016/04/09 03:42:37 Mounting "/cloudsql"...
2016/04/09 03:42:37 Could not start fuse directory at "/cloudsql": cannot mount "/cloudsql": fusermount: exec: "fusermount": executable file not found in $PATH
更新:
无需使用 Fuse 即可正常运行。这是命令我 运行:
./cloud_sql_proxy -dir=/cloudsql --instances=my-project:us-central1:my-sql-instance-name=tcp:3306 &
mysql -u root --port 3306 --host 127.0.0.1 -p
我仍然看到错误 Protocol tcp6 not supported: listen tcp6 [::1]:0: bind: cannot assign requested address
,但我想这只是一个警告?
是的,tcp6 消息是一个警告 - 它只是说明您 运行 所在的系统不支持 ipv6(GCE 中的一个已知问题)。我已经删除了该日志消息,事实证明它不是很有用(而且,正如您所展示的,可能会造成混淆)。
在 Proxy 退出之前打印的消息是您关心的消息:它抱怨找不到 'fusermount',这意味着您的系统上没有安装 FUSE 客户端工具。如果您想使用 FUSE,您可以从源代码编译它们,但如果您可以使用“-instances”标志,那么就没有必要走那条路了。