mycli
Rich MySQL terminal client with autocompletion, syntax highlighting, and dataframes
Decision gist · record as of 2026-08-14
Yes, if you regularly work with MySQL or compatible databases from the terminal. The auto-completion, syntax highlighting, and fuzzy search significantly improve the interactive query experience over the standard mysql client. Install via `pip install mycli[all]` to get all optional features. Note one known vulnerability (PYSEC-2023-213) exists; verify it does not affect your use case before deploying in production.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or better; a MySQL-compatible database server must be accessible at connection time.
- Low friction installation as a pure Python wheel.
- Active maintenance with a recent release (2 days old) and substantial community engagement (11962 GitHub stars).
License · maintenance · safety
BSD-3-Clause (permissive) — BSD-3-Clause is permissive; you can use mycli freely in commercial and private projects with minimal restrictions, provided you include the license notice.
last release 2026-08-12 (2 days) · last repo commit 2026-08-12 · 11,962 stars
1 known vulnerabilities (OSV.dev, 2026-08-14) · 132,482 downloads/mo, #11,549 on PyPI
Alternatives
Verify before relying
pip install mycli
mycli --help
mycli -u root -p password -h localhost- Whether the single known vulnerability (PYSEC-2023-213) affects current version 2.13.2 or has been patched.
- Performance characteristics when handling very large result sets or complex queries.
- Stability and feature completeness on Windows (documentation notes partial support).
What it is and what it does
mycli is a terminal-based MySQL client that replaces the standard mysql command-line tool with a modern, interactive interface. It connects to MySQL, MariaDB, Percona, TiDB, and Apache Doris databases and provides context-aware SQL auto-completion (suggesting table names after FROM, column names after WHERE), syntax highlighting via Pygments, and fuzzy history search. It supports multiline queries, favorite queries with Jinja templating, shell-style output redirection, and optional integration with Polars for dataframe transforms and plots.
The package has 19 runtime dependencies including prompt_toolkit (the interactive UI backbone), PyMySQL (database connection), sqlparse and sqlglot (SQL parsing), and optional tools like pyfzf (fuzzy search) and keyring (password storage). Installation is straightforward via pip; the project is actively maintained (last commit 2026-08-12) and well-established (first release 2015-07-26). It requires Python 3.10 or later and is tested on macOS and Linux with partial support for Windows and WSL.
Use it for
- Interactive MySQL development and debugging when you need auto-completion and syntax highlighting instead of the bare mysql CLI.
- Running ad-hoc queries with fuzzy history search to quickly find and re-execute previous commands.
- Saving and executing parameterized queries using Jinja templating for repeated tasks with different values.
- Exploring large result sets using fzf output explorer or piping results to external tools with shell-style redirects.
- Querying multiple MySQL-compatible databases (MariaDB, Percona, TiDB, Doris) from a single unified client.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you regularly work with MySQL or compatible databases from the terminal.
The auto-completion, syntax highlighting, and fuzzy search significantly improve the interactive query experience over the standard mysql client. Install via `pip install mycli[all]` to get all optional features. Note one known vulnerability (PYSEC-2023-213) exists; verify it does not affect your use case before deploying in production.
Install
mycli on PyPI
Before you install
Low friction installation as a pure Python wheel. Active maintenance with a recent release (2 days old) and substantial community engagement (11962 GitHub stars). Requires Python 3.10 or better.
Requires Python 3.10 or better; a MySQL-compatible database server must be accessible at connection time.
License in practice
BSD-3-Clause is permissive; you can use mycli freely in commercial and private projects with minimal restrictions, provided you include the license notice.
Quickstart
pip install mycli
mycli --help
mycli -u root -p password -h localhost
Verify before relying
- Whether the single known vulnerability (PYSEC-2023-213) affects current version 2.13.2 or has been patched.
- Performance characteristics when handling very large result sets or complex queries.
- Stability and feature completeness on Windows (documentation notes partial support).
Package facts
| License | BSD-3-Clause permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 19 packagesclickclickdccryptographyPygmentsprompt_toolkitPyMySQLsqlparsesqlglotsqlglotcconfigobjcli_helperswcwidthpyperclippycryptodomexpyfzfrapidfuzzkeyringjinja2yaspin |
| Maintenance | Actively maintained 2 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 132,482 / month, #11,549 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | 1 PYSEC-2023-213 |
| Classifiers | Environment :: ConsoleIntended Audience :: DevelopersIntended Audience :: Science/ResearchOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: SQLTopic :: DatabaseTopic :: Database :: Front-EndsTopic :: Software Development |
Evidence: mycli-2.13.2-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “mysql command line client”
- myclimycli is a command-line client for MySQL and compatible databases…
- aiven-clientOfficial command-line client for Aiven's managed cloud services…
- ingestringestr is a command-line tool that copies data from any source…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also litecli · pgcli · mysqlclient · PyMySQL · aiomysql · opentelemetry-instrumentation-mysqlclient · hopsworks-aiomysql · mysql-connector · types-mysqlclient