更新升级 专属应用 系统故障 硬件故障 电脑汽车 鸿蒙刷机 鸿蒙开发Linux教程 鸿蒙开发Linux命令
当前位置:HMXT之家 > 鸿蒙开发Linux教程 > 在Debian 11/Debian 10上安装Google Cloud SQL代理

在Debian 11/Debian 10上安装Google Cloud SQL代理

更新时间:2023-02-15 15:56:59浏览次数:597+次

本文介绍如何在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代理结束并可用。