mysql

Run read-only MySQL and MariaDB queries with named connection profiles and JSON output.

4|2|Updated Sep 1, 2026
One-click install
npx skills add https://github.com/Procesio-Externals/procesio-cli --skill mysql-procesio-externals
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: mysql
Source: https://github.com/Procesio-Externals/procesio-cli/tree/main/tools/mysql
Command: npx skills add https://github.com/Procesio-Externals/procesio-cli --skill mysql-procesio-externals

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pymysql, cryptography.

What problem does it solve? Querying MySQL or MariaDB from scripts and AI assistants usually means hand-writing connection code, managing credentials insecurely, and risking accidental writes. This Skill provides a safe, profile-based command interface that enforces read-only access by default and returns structured JSON results. ## Core Features & Use Cases - Read-only queries by default: SELECT-only enforcement via a write-guard; non-SELECT statements require an explicit --write flag, and parameters are always bound via %s placeholders, never interpolated. - Named connection profiles: Non-secret config (host, database, port, TLS) lives in a profiles file while passwords stay in the OS credential store, so secrets never touch disk or shell history. - Schema tooling: Mirror an entire database's objects to local .sql files (schema-extract), diff two schemas (schema-diff), and run forward-only versioned migrations (migrate) with drift detection and dry-run support. - Use Case: Ask the assistant to list all tables in your Redmine database, then run a parameterized SELECT against it, and finally extract the full schema to disk for version-controlled diffing between dev and release environments. ## Quick Start Ask the assistant to run a read-only MySQL query such as listing the tables in your configured default profile's database.

Frequently Asked Questions about mysql

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run a read-only MySQL query from the command line?▼

Use the query action with a profile and SQL statement, for example: mysql query --profile default --sql "SELECT * FROM issues LIMIT 10". Results return as JSON with columns, rows, row_count, and a truncated flag. Parameters are passed as a JSON array via --params and bound with %s placeholders.

How do I compare two MySQL database schemas?▼

Use the schema-diff action with two mirror directories or live profiles, such as --left profile:prod --right profile:prod with --database-left and --database-right overrides. It reports added, removed, and changed objects with a unified diff per change, and is read-only end to end.

Where are MySQL passwords stored for connection profiles?▼

Passwords live only in the operating system's credential store (Windows Credential Manager, macOS Keychain, or Linux keyring) under agents-and-tools:mysql:<profile-name>. The profiles.json file holds only non-secret config like host, port, database, and TLS flags.

Can I run INSERT, UPDATE, or DELETE statements with this tool?▼

Yes, but writes are blocked by default. You must pass the --write flag explicitly, and even then statements remain parameterized. The write-guard rejects INSERT, UPDATE, DELETE, REPLACE, DROP, ALTER, and multi-statement batches unless the flag is present.

Why does my MySQL migration file with DELIMITER fail?▼

The migration runner executes each file as a single statement with no client-side semicolon splitting and no DELIMITER handling. Author each migration as one statement per file, such as a single CREATE PROCEDURE without DELIMITER lines, since routine bodies contain semicolons.

What dependencies are required to connect to MySQL 8?▼

The tool requires pymysql and cryptography, where cryptography is needed for MySQL 8's caching_sha2_password authentication. Both are imported lazily, so profile management actions work even without them installed.