{"id":31830800,"url":"https://github.com/gemini-cli-extensions/cloud-sql-mysql","last_synced_at":"2026-02-25T00:02:16.835Z","repository":{"id":316322399,"uuid":"1055656164","full_name":"gemini-cli-extensions/cloud-sql-mysql","owner":"gemini-cli-extensions","description":null,"archived":false,"fork":false,"pushed_at":"2026-02-18T19:16:13.000Z","size":184,"stargazers_count":6,"open_issues_count":3,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-18T22:40:31.748Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gemini-cli-extensions.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-12T15:38:28.000Z","updated_at":"2026-02-18T19:16:15.000Z","dependencies_parsed_at":"2025-10-11T21:26:29.659Z","dependency_job_id":null,"html_url":"https://github.com/gemini-cli-extensions/cloud-sql-mysql","commit_stats":null,"previous_names":["gemini-cli-extensions/cloud-sql-mysql"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/gemini-cli-extensions/cloud-sql-mysql","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gemini-cli-extensions%2Fcloud-sql-mysql","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gemini-cli-extensions%2Fcloud-sql-mysql/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gemini-cli-extensions%2Fcloud-sql-mysql/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gemini-cli-extensions%2Fcloud-sql-mysql/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gemini-cli-extensions","download_url":"https://codeload.github.com/gemini-cli-extensions/cloud-sql-mysql/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gemini-cli-extensions%2Fcloud-sql-mysql/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29806142,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-24T22:43:48.403Z","status":"ssl_error","status_checked_at":"2026-02-24T22:43:18.536Z","response_time":75,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-10-11T21:26:07.132Z","updated_at":"2026-02-25T00:02:16.829Z","avatar_url":"https://github.com/gemini-cli-extensions.png","language":null,"funding_links":[],"categories":["Databases","Databases and Data"],"sub_categories":[],"readme":"# Gemini CLI Extension - Cloud SQL for MySQL\n\n\u003e [!NOTE]\n\u003e This extension is currently in beta (pre-v1.0), and may see breaking changes until the first stable release (v1.0).\n\nThis Gemini CLI extension provides a set of tools to interact with [Cloud SQL for MySQL](https://cloud.google.com/sql/docs/mysql) instances. It allows you to manage your databases, execute queries, explore schemas, and troubleshoot issues directly from the [Gemini CLI](https://google-gemini.github.io/gemini-cli/), using natural language prompts.\n\nLearn more about [Gemini CLI Extensions](https://github.com/google-gemini/gemini-cli/blob/main/docs/extensions/index.md).\n\u003e [!IMPORTANT]\n\u003e **We Want Your Feedback!**\n\u003e Please share your thoughts with us by filling out our feedback [form][form]. \n\u003e Your input is invaluable and helps us improve the project for everyone.\n\n[form]: https://docs.google.com/forms/d/e/1FAIpQLSfEGmLR46iipyNTgwTmIDJqzkAwDPXxbocpXpUbHXydiN1RTw/viewform?usp=pp_url\u0026entry.157487=cloud-sql-mysql\n## Why Use the Cloud SQL for MySQL Extension?\n\n* **Seamless Workflow:** As a Google-developed extension, it integrates seamlessly into the Gemini CLI environment. No need to constantly switch contexts for common database tasks.\n* **Natural Language Queries:** Stop wrestling with complex commands. Explore schemas and query data by describing what you want in plain English.\n* **Full Lifecycle Control:** Manage the entire lifecycle of your database, from creating instances to exploring schemas and running queries.\n* **Code Generation:** Accelerate development by asking Gemini to generate data classes and other code snippets based on your table schemas.\n\n\n## Prerequisites\n\nBefore you begin, ensure you have the following:\n\n* [Gemini CLI](https://github.com/google-gemini/gemini-cli) installed with version **+v0.6.0**.\n* Setup Gemini CLI [Authentication](https://github.com/google-gemini/gemini-cli/tree/main?tab=readme-ov-file#-authentication-options).\n* A Google Cloud project with the **Cloud SQL Admin API** enabled.\n* Ensure [Application Default Credentials](https://cloud.google.com/docs/authentication/gcloud) are available in your environment.\n* IAM Permissions:\n  * Cloud SQL Client (`roles/cloudsql.client`)\n  * Cloud SQL Viewer (`roles/cloudsql.viewer`)\n  * Cloud SQL Admin (`roles/cloudsql.admin`)\n\n## Getting Started\n\n### Installation\n\nTo install the extension, use the command:\n\n```bash\ngemini extensions install https://github.com/gemini-cli-extensions/cloud-sql-mysql\n```\n\n### Configuration\n\nYou will be prompted to configure the following settings during installation. These settings are saved in an `.env` file within the extension's directory.\n\n*   `CLOUD_SQL_MYSQL_PROJECT`: The GCP project ID.\n*   `CLOUD_SQL_MYSQL_REGION`: The region of your Cloud SQL instance.\n*   `CLOUD_SQL_MYSQL_INSTANCE`: The name of your Cloud SQL instance.\n*   `CLOUD_SQL_MYSQL_DATABASE`: The name of the database to connect to.\n*   `CLOUD_SQL_MYSQL_USER`: (Optional) The database username. Defaults to the active IAM user.\n*   `CLOUD_SQL_MYSQL_PASSWORD`: (Optional) The password for the database user. Required if using CLOUD_SQL_MYSQL_USER. Defaults to the active IAM user.\n*   `CLOUD_SQL_MYSQL_IP_TYPE`: (Optional) Type of the IP address: `PUBLIC`, `PRIVATE`, or `PSC`. Defaults to `PUBLIC`.\n\n\u003e [!NOTE]\n\u003e This configuration is primarily for the Data Plane tools (querying). The Admin toolset does not strictly require these to be pre-set if you provide them in your prompts, but it is recommended for a smoother experience.\n\nTo view or update your configuration:\n\n**List Settings:**\n*   Terminal: `gemini extensions list`\n*   Gemini CLI: `/extensions list`\n\n**Update Settings:**\n*   Terminal: `gemini extensions config cloud-sql-mysql [setting name] [--scope \u003cscope\u003e]`\n    *   `setting name`: (Optional) The single setting to configure.\n    *   `scope`: (Optional) The scope of the setting in (`user` or `workspace`). Defaults to `user`.\n*   Currently, you must restart the Gemini CLI for changes to take effect. We recommend using `gemini --resume` to resume your session.\n\nAlternatively, you can manually set these environment variables before starting the Gemini CLI:\n\n```bash\nexport CLOUD_SQL_MYSQL_PROJECT=\"\u003cyour-gcp-project-id\u003e\"\nexport CLOUD_SQL_MYSQL_REGION=\"\u003cyour-cloud-sql-region\u003e\"\nexport CLOUD_SQL_MYSQL_INSTANCE=\"\u003cyour-cloud-sql-instance-id\u003e\"\nexport CLOUD_SQL_MYSQL_DATABASE=\"\u003cyour-database-name\u003e\"\nexport CLOUD_SQL_MYSQL_USER=\"\u003cyour-database-user\u003e\"  # Optional, defaults to IAM authentication\nexport CLOUD_SQL_MYSQL_PASSWORD=\"\u003cyour-database-password\u003e\"  # Optional, defaults to IAM authentication\nexport CLOUD_SQL_MYSQL_IP_TYPE=\"PUBLIC\" # Optional: `PUBLIC`, `PRIVATE`, `PSC`. Defaults to `PUBLIC`.\n```\n\n\u003e [!NOTE]\n\u003e * Ensure [Application Default Credentials](https://cloud.google.com/docs/authentication/gcloud) are available in your environment.\n\u003e * If your Cloud SQL for MySQL instance uses private IPs, you must run Gemini CLI in the same Virtual Private Cloud (VPC) network.\n\u003e * See [Troubleshooting](#troubleshooting) for debugging your configuration.\n\n### Start Gemini CLI\n\nTo start the Gemini CLI, use the following command:\n\n```bash\ngemini\n```\n\n\u003e [!WARNING]\n\u003e **Changing Instance \u0026 Database Connections**\n\u003e Currently, the database connection must be configured before starting the Gemini CLI and can not be changed during a session.\n\u003e To save and resume conversation history use command: `/chat save \u003ctag\u003e` and `/chat resume \u003ctag\u003e`.\n\n## Usage Examples\n\nInteract with MySQL using natural language:\n\n* **Provision Infrastructure:**\n    * \"Create a new Cloud SQL for MySQL instance named 'e-commerce-prod' in the 'my-gcp-project' project.\"\n    * \"Create a new user named 'analyst' with read access to all tables.\"\n* **Explore Schemas and Data:**\n  * \"Show me all tables in the 'orders' database.\"\n  * \"What are the columns in the 'products' table?\"\n  * \"How many orders were placed in the last 30 days, and what were the top 5 most purchased items?\"\n* **Generate Code:**\n  * \"Generate a Python dataclass to represent the 'customers' table.\"\n\n## Supported Tools\n\n* **Admin:**\n    * `clone_instance`: Use this tool to creates a clone for an existing Cloud SQL for MySQL instance.\n    * `create_backup`: Use this tool to creates a backup on a Cloud SQL instance.\n    * `create_database`: Use this tool to creates a new database in a Cloud SQL instance.\n   \t* `create_instance`: Use this tool to create an Postgres instance.\n   \t* `create_user`: Use this tool to create Postgres-BUILT-IN or IAM-based users.\n   \t* `get_instance`: Use this tool to get details about an Postgres instance.\n   \t* `get_user`: Use this tool to get details about a user.\n    * `list_databases`: Use this tool to lists all databases for a Cloud SQL instance.\n   \t* `list_instances`: Use this tool to list instances in a given project and location.\n   \t* `list_users`: Use this tool to list users in a given project and location.\n    * `restore_backup`: Use this tool to restores a backup of a Cloud SQL instance.\n    * `wait_for_operation`: Use this tool to poll the operations API until the operation is done.\n\n* **Data:**\n    *  `list_tables`: Use this tool to list tables and descriptions.\n    *  `execute_sql`: Use this tool to execute any SQL statement.\n    *  `get_query_plan`: Use this tool to generate an execution plan.\n    *  `list_active_queries`: Use this tool to lists top N (default 10) ongoing queries.\n    *  `list_tables_missing_unique_indexes`: Use this tool to find tables that do not have primary or unique key constraint\n    *  `list_table_fragmentation`: Use this tool to list fragmented tables\n\n## Additional Extensions\n\nFind additional extensions to support your entire software development lifecycle at [github.com/gemini-cli-extensions](https://github.com/gemini-cli-extensions), including:\n* [Generic MySQL extension](https://github.com/gemini-cli-extensions/mysql)\n* [Cloud SQL for MySQL Observability extension](https://github.com/gemini-cli-extensions/cloud-sql-mysql-observability)\n* and more!\n\n## Troubleshooting\n\nUse `gemini --debug` to enable debugging.\n\nCommon issues:\n\n* \"failed to find default credentials: google: could not find default credentials.\": Ensure [Application Default Credentials](https://cloud.google.com/docs/authentication/gcloud) are available in your environment. See [Set up Application Default Credentials](https://cloud.google.com/docs/authentication/external/set-up-adc) for more information.\n* \"✖ Error during discovery for server: MCP error -32000: Connection closed\": The database connection has not been established. Ensure your configuration is set via environment variables.\n* \"✖ MCP ERROR: Error: spawn /Users/USER/.gemini/extensions/cloud-sql-mysql/toolbox ENOENT\": The Toolbox binary did not download correctly. Ensure you are using Gemini CLI v0.6.0+.\n* \"cannot execute binary file\": The Toolbox binary did not download correctly. Ensure the correct binary for your OS/Architecture has been downloaded. See [Installing the server](https://googleapis.github.io/genai-toolbox/getting-started/introduction/#installing-the-server) for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgemini-cli-extensions%2Fcloud-sql-mysql","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgemini-cli-extensions%2Fcloud-sql-mysql","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgemini-cli-extensions%2Fcloud-sql-mysql/lists"}