更新时间:2023-02-15 15:56:59浏览次数:676+次
本文介绍如何在Debian 11/Debian 10系统上安装Google Cloud SQL Proxy(谷歌云SQL代理)的方法。为了让这项工作持续到最后,我们需要具备Google Cloud身份验证凭据,您必须为Cloud SQL Auth代理创建一个服务帐户凭据文件(JSON),只要Cloud SQL Auth正在运行,它就会被显式和永久地链接到该代理,另外,要有实例的有效数据库用户帐户和密码。
安装Google Cloud SQL代理的方法
步骤1、安装云SQL身份验证代理
要开始安装过程,我们将首先下载Cloud SQL Auth代理:
cd ~
wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
步骤2、使其可执行
获取文件后,我们必须使Cloud SQL Auth proxy可执行如下:
chmod +x cloud_sql_proxy
步骤3、创建SystemD服务
此时,我们可以通过如下方式执行应用程序:
./cloud_sql_proxy -version
即使您可以像现在这样使用云计算引擎SQL代理,我们也可以做得更好。当前可以创建一个systemd服务,以便轻松启动、停止、启用或禁用该服务。它将为我们提供很多操作方便,我们可以像管理服务器中的其他守护程序和应用程序一样管理它。
首先,将cloud_sql_proxy(可执行文件)添加到PATH,如下所示:
sudo cp ~/cloud_sql_proxy /usr/local/bin
然后让我们创建一个systemd服务文件。您可以将服务称为适合您的名称:
$ sudo vim /lib/systemd/system/proxy.service
[Install]
WantedBy=multi-user.target
[Unit]
Description=Google Cloud Compute Engine SQL Proxy
Requires=networking.service
After=networking.service
[Service]
Type=simple
WorkingDirectory=/usr/local/bin
ExecStart=/usr/local/bin/cloud_sql_proxy -instances=your_gcp_project:region_of_instace:cloudsql_instance_name=tcp:3307 -credential_file=/var/credential.json
Restart=always
StandardOutput=journal
User=root
“credential.json”文件是我们需要的具有访问CloudSQL所需权限的服务帐户。将以下内容替换为您的详细信息:
your_gcp_project。
region_of_instace,例如us-central1。
cloudsql_instance_name。
端口例如3307或服务器中未使用的其他端口。
执行守护程序重新加载,以便可以读取和加载新文件:
sudo systemctl daemon-reload
然后启动并启用代理:
sudo systemctl start proxy
sudo systemctl enable proxy
检查其状态以确认一切正常:
$ systemctl status proxy
步骤4、通过身份验证代理连接到实例
当您使用云SQL身份验证代理连接到实例时,您将提供用于登录实例的用户帐户。您可以为此使用任何数据库用户帐户。通过CLI连接到MySQL实例的示例如下:
mysql -u your_user —-host=127.0.0.1 —-port=3307 -p your_database
在本例中,当我们将“proxy.service”配置为侦听时,我们连接到端口3307。它还连接到localhost。因此,Google Cloud Auth SQL代理将接收命令并将其路由到您的GCP CloudSQL实例。
但是,由于云SQL身份验证代理始终从除云SQL身份认证代理外无法访问的主机名进行连接,因此您可以创建一个只能由云SQL身份证明代理使用的用户帐户。这样做的好处是您可以在没有密码的情况下指定此帐户,而不会影响实例或数据的安全性。
要为云SQL身份验证代理连接创建用户帐户,请将主机名指定为“cloudsqlproxy~[IP_ADDRESS]”。您还可以使用IP地址通配符,这将导致“cloudsqlproxy~%”。
您可以使用“gcloud”命令执行以下操作:
gcloud sql users create user \
--host=cloudsqlproxy~24.123.4.142 \
--instance=cloudsql-instance \
--password=password
或:
gcloud sql users create user \
--host=cloudsqlproxy~% \
--instance=cloudsql_instance_name \
--password=your_password
之后就可以从应用程序连接到Auth代理,它将对新用户进行身份验证。
至此,在Debian 11/Debian 10系统上安装Google Cloud SQL代理结束并可用。