proxy - 在哪里启动 Google Cloud SQL 代理?
问题描述
我遇到问题是因为代理死了,也许是因为我从控制台启动它,我是 Cloud SQl 的新手。
Google Cloud Storage 将其安装在自定义元数据部分的实例配置页面上,键为“启动脚本”。那也是启动 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 的实例
解决方案
安装 Cloud SQL 代理/usr/local/bin directory
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 服务
Linux 服务是在后台运行等待使用的应用程序(或一组应用程序)
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
有关更多信息,请查看本指南
推荐阅读
- jmeter - Jmeter在线程中发现错误时如何停止所有线程的执行
- asp.net-core - 当用户有 2 个角色时,AuthorizeView 不起作用
- javascript - 值未推送到 javascript 中的全局数组中
- ignite - 点燃内核状态总是显示停止
- flutter - Flutter sqflite 不适用于真实设备 android
- windows - 环境变量扩展不再适用于 Windows 上的 npm run
- php - PHP8将0与空字符串进行比较,其背后的逻辑是什么
- jenkins - 构建触发器不会保存在 Jenkins 中
- python - 遍历 pandas df 返回所有与正则表达式不匹配的值
- powershell - 如何使用 PowerShell 解析文件夹和文件?