//START GOOGLE CLOUD SQL PROXY  - IGNORE IF USING VM SQL ABOVE
--------------------
Create  Google Cloud SQL Instance, with Private and Public IP (for remote access)
INSTALL Cloud SQL Auth Proxy. Refer to AI to setup
https://cloud.google.com/sql/docs/mysql/connect-instance-auth-proxy

sudo mv cloud-sql-proxy /usr/local/bin/cloud_sql_proxy

To install as a Permanent Linux Service

1. sudo nano /etc/systemd/system/cloudsqlproxy.service
##################
[Unit]
Description=Cloud SQL Proxy for rowz-app-sql
After=network.target

[Service]
# Replace <YOUR_CONNECTION_NAME> with your actual connection name
# Example: spartan-context-260412:europe-west1:rowz-app-sql
ExecStart=/usr/local/bin/cloud_sql_proxy spartan-context-260412:europe-west1:rowz-app-sql --port 3306
# Optional: For better security, consider creating a dedicated low-privilege user for the proxy
# User=cloudsqlproxy
# Group=cloudsqlproxy
Restart=always
StandardOutput=journal
StandardError=journal
SyslogIdentifier=cloudsqlproxy

[Install]
WantedBy=multi-user.target
##################

2. Make the file executable
sudo chmod +x /usr/local/bin/cloud_sql_proxy 
3. Reload.
sudo systemctl daemon-reload
sudo systemctl restart cloudsqlproxy
sudo systemctl status cloudsqlproxy

4. N.B Ensure All connections to Instance are via "127 .0.0.1" or the internal ip address of the database vm. a value of "local host" will not work with the proxy (typo intentional to avoid copy replace).

//END GOOGLE CLOUD SQL PROXY  - IGNORE IF USING VM SQL ABOVE