
Cloud Sql Basics
Provision and manage Google Cloud SQL instances, databases, users, backups, and restores from the terminal while wiring a solo SaaS backend on GCP.
Overview
Cloud SQL Basics is an agent skill for the Build phase that documents `gcloud sql` commands to create, operate, and back up Google Cloud SQL instances.
Install
npx skills add https://github.com/google/skills --skill cloud-sql-basicsWhat is this skill?
- Documents essential `gcloud sql` instance lifecycle: create, list, describe, restart
- Covers database and user creation with instance-scoped flags
- Includes operations list plus backup create and restore commands
- Calls out common flags: `--project`, `--region`, and `--format` for JSON/YAML output
- Shows `--quiet` examples for script-friendly automation
Adoption & trust: 5.1k installs on skills.sh; 12.1k GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You need a managed MySQL database on GCP but keep forgetting the exact `gcloud sql` flags for instances, users, and backups.
Who is it for?
Solo builders shipping on GCP who want terminal-first Cloud SQL setup and day-two ops.
Skip if: Teams on AWS RDS, local-only SQLite workflows, or builders who need ORM/schema migration guidance instead of cloud CLI.
When should I use this skill?
You need exact `gcloud sql` syntax for instances, databases, users, operations, or backups on GCP.
What do I get? / Deliverables
You get verified CLI patterns for provisioning Cloud SQL, managing schemas and users, and running backup/restore without hunting the GCP docs mid-session.
- Runnable gcloud sql command snippets
- Instance/database/user provisioning steps
- Backup and restore command references
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Canonical shelf is Build because indie builders most often reach for Cloud SQL while standing up production-ready data stores and connection strings before ship. Backend fits managed relational databases that back APIs and web apps, not front-end or marketing work.
Where it fits
Spin up a db-f1-micro MySQL 8 instance in us-central1 before connecting your API.
Restart a stuck instance and list recent operations after a deploy changed connection limits.
Take a backup immediately before flipping traffic to a new release.
How it compares
Reference command recipes for Cloud SQL—not an MCP server or Terraform module.
Common Questions / FAQ
Who is cloud-sql-basics for?
Indie developers and small teams using Google Cloud who manage relational data with Cloud SQL and prefer `gcloud` over console-only workflows.
When should I use cloud-sql-basics?
During Build when standing up instance tiers and databases; during Operate when restarting instances, listing operations, or restoring backups after incidents.
Is cloud-sql-basics safe to install?
Review the Security Audits panel on this Prism page before installing; the skill encodes shell commands that mutate cloud resources and accept credentials flags.
SKILL.md
READMESKILL.md - Cloud Sql Basics
# Cloud SQL CLI Usage The `gcloud sql` command group is used to manage Cloud SQL instances and related resources. ## Basic Syntax ```bash gcloud sql [GROUP] [COMMAND] [FLAGS] ``` ## Essential Commands ### Instance Management - **Create an instance:** ```bash gcloud sql instances create my-instance --database-version=MYSQL_8_0 \ --tier=db-f1-micro --region=us-central1 \ --quiet ``` - **List instances:** ```bash gcloud sql instances list --quiet ``` - **Describe an instance:** ```bash gcloud sql instances describe my-instance --quiet ``` - **Restart an instance:** ```bash gcloud sql instances restart my-instance --quiet ``` ### Database and User Management - **Create a database:** ```bash gcloud sql databases create my-db --instance=my-instance --quiet ``` - **Create a user:** ```bash gcloud sql users create my-user --instance=my-instance \ --password=my-password \ --quiet ``` ### Operations and Backups - **List operations:** ```bash gcloud sql operations list --instance=my-instance --quiet ``` - **Create a backup:** ```bash gcloud sql backups create --instance=my-instance --quiet ``` - **Restore from a backup:** ```bash gcloud sql backups restore backup_id --restore-instance=my-instance --quiet ``` ## Common Flags - `--project`: Specifies the project ID. - `--region`: The region where the instance is located. - `--format`: Changes output format (e.g., `json`, `yaml`). # Cloud SQL Client Libraries Google Cloud provides client libraries and connectors to simplify connecting to Cloud SQL from various programming languages. ## Getting Started Ensure you have the latest version of the Google Cloud SDK installed and authenticated. [Install Google Cloud SDK](https://cloud.google.com/sdk/docs/install) ### Language Connectors The Cloud SQL Language Connectors (Python, Java, Go, Node.js) provide a secure way to connect to the Cloud SQL instance without managing IP allowlists or SSL certificates. #### Python - **Installation for a Cloud SQL for PostgreSQL instance:** ```bash pip install "cloud-sql-python-connector[pg8000]" ``` - **Usage Example:** ```python from google.cloud.sql.connector import Connector connector = Connector() def getconn(): conn = connector.connect( "project:region:instance", "pg8000", user="my-user", password="my-password", db="my-db" ) return conn ``` #### Java - **Maven Dependencies:** The recommended method is to use the Cloud SQL JDBC Socket Factory. Add the BOM to your `<dependencyManagement>` section: ```xml <dependencyManagement> <dependencies> <dependency> <groupId>com.google.cloud.sql</groupId> <artifactId>jdbc-socket-factory-bom</artifactId> <version>1.18.0</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> ``` Then add dependencies for your database: * **PostgreSQL:** ```xml <dependencies> <dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>42.7.3</version> </dependency> <dependency> <groupId>com.google.cloud.sql</groupId> <artifactId>postgres-socket-factory</artifactId> </dependency> </dependencies> ``` * **MySQL:** ```xml <dependencies> <dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <version>8.0.33</version> </dependency> <dependency> <groupId>com.google.cloud.sql</groupId> <artifactId>mysql-socket-factory-connector-j-8</artifactId> </dependency> </dependencies> ``` ####