在哪里启动 Google Cloud SQL 代理?

Where to launch the Google Cloud SQL proxy?

我遇到问题是因为代理死了,也许是因为我是从控制台启动它的,我是 Cloud 的新手 SQl。

Google Cloud Storage 使用密钥 'startup-script' 将其安装在自定义元数据部分的实例配置页面上。那也是启动 Cloud SQL 代理的好地方吗?

我也看到它通过控制台启动:

./cloud_sql_proxy -instances=xxx:us-central1:my-instance=tcp:3306 &
and
nohup ./cloud_sql_proxy -instances=xxx:us-central1:my-instance=tcp:3306 &

想着重启自动启动,有什么好办法吗?

我使用 Debian 9 实例

/usr/local/bin directory

上安装云 SQL 代理
cd /usr/local/bin
sudo wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
sudo chmod +x cloud_sql_proxy

初始化 Cloud SQL 代理的最佳方法是使用 systemd 服务

A Linux service is an application (or set of applications) that runs in the background waiting to be used

1.- 创建这个文件 /etc/systemd/system/cloud-sql-proxy.service

请将此字符串 <INSTANCE_CONNECTION_NAME> 替换为您的实例连接名称,例如: myproject:myregion:myinstance

[Unit]
Description=Connecting MySQL Client from Compute Engine using the Cloud SQL Proxy
Documentation=https://cloud.google.com/sql/docs/mysql/connect-compute-engine
Requires=networking.service
After=networking.service

[Service]
WorkingDirectory=/usr/local/bin
ExecStart=/usr/local/bin/cloud_sql_proxy -dir=/var/run/cloud-sql-proxy -instances=<INSTANCE_CONNECTION_NAME>=tcp:3306
Restart=always
StandardOutput=journal
User=root

[Install]
WantedBy=multi-user.target

2.- 运行 sudo systemctl daemon-reload

3.- 运行 sudo systemctl enable cloud-sql-proxy

4.- 运行 sudo systemctl start cloud-sql-proxy

有关更多信息,请查看此 guide