Mycli是一个MySQL命令行客户端工具,具有自动完成和语法突出显示功能。
它是由印度人基于python开发的一个工具,适合初学者或者对数据库熟悉但命令记不住的人群,能很好地克服记不住命令的困难。
官网:https://www.mycli.net/
Github项目地址:https://github.com/dbcli/mycli
安装
建议先安装依赖
yum install python-pip python-develyuminstallpython−pippython−devel pip install mycli
官方的安装就是先安装python的两个插件后,使用python插件pip来下载安装mycli工具,但很多时候安装都会报错。首先国内的一些yum源可能都不支持安装python-pip工具。安装完python后,你以为直接运行pip install mycli就可以完成安装mycli。
# 注:如果遇到以下错误
Cannot uninstall ‘configobj’. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
# 执行一下安装
pip install –ignore-installed myclipipinstall–ignore−installedmycli
# 一般的已经知道如何安装python包,那么您可以简单地执行
pip install mycli
# 如果是在macOS上,你可以通过homebrew安装它
brew update && brew install mycli
如果您在安装时遇到问题,请查看官网以获取详细说明。
使用
你只需要一个命令 mycli 就可以启动、mycli 支持多平台,包括 Windows、macOS、Linux 都支持。如何使用呢?mycli 完全继承了 mysql 命令中的参数,所以没有任何学习成本。
连接数据库,MySQL操作如下:
mycli -u your_user_name -h your_host -p your_password –database your_db_name
效果图如下:
用法
$ mycli --help
Usage: mycli [OPTIONS] [DATABASE]
A MySQL terminal client with auto-completion and syntax highlighting.
Examples:
- mycli my_database
- mycli -u my_user -h my_host.com my_database
- mycli mysql://my_user@my_host.com:3306/my_database
Options:
-h, --host TEXT Host address of the database.
-P, --port INTEGER Port number to use for connection. Honors
$MYSQL_TCP_PORT.
-u, --user TEXT User name to connect to the database.
-S, --socket TEXT The socket file to use for connection.
-p, --password TEXT Password to connect to the database.
--pass TEXT Password to connect to the database.
--ssh-user TEXT User name to connect to ssh server.
--ssh-host TEXT Host name to connect to ssh server.
--ssh-port INTEGER Port to connect to ssh server.
--ssh-password TEXT Password to connect to ssh server.
--ssh-key-filename TEXT Private key filename (identify file) for the
ssh connection.
--ssl-ca PATH CA file in PEM format.
--ssl-capath TEXT CA directory.
--ssl-cert PATH X509 cert in PEM format.
--ssl-key PATH X509 key in PEM format.
--ssl-cipher TEXT SSL cipher to use.
--ssl-verify-server-cert Verify server's "Common Name" in its cert
against hostname used when connecting. This
option is disabled by default.
-V, --version Output mycli's version.
-v, --verbose Verbose output.
-D, --database TEXT Database to use.
-d, --dsn TEXT Use DSN configured into the [alias_dsn]
section of myclirc file.
--list-dsn list of DSN configured into the [alias_dsn]
section of myclirc file.
-R, --prompt TEXT Prompt format (Default: "\t \u@\h:\d> ").
-l, --logfile FILENAME Log every query and its results to a file.
--defaults-group-suffix TEXT Read MySQL config groups with the specified
suffix.
--defaults-file PATH Only read MySQL options from the given file.
--myclirc PATH Location of myclirc file.
--auto-vertical-output Automatically switch to vertical output mode
if the result is wider than the terminal
width.
-t, --table Display batch output in table format.
--csv Display batch output in CSV format.
--warn / --no-warn Warn before running a destructive query.
--local-infile BOOLEAN Enable/disable LOAD DATA LOCAL INFILE.
--login-path TEXT Read this path from the login file.
-e, --execute TEXT Execute command and quit.
--help Show this message and exit.
特征
mycli
是使用prompt_toolkit编写的。
- 键入SQL关键字以及数据库中的表,视图和列时自动完成。
- 使用Pygments突出显示语法。
- 智能完成(默认启用)将建议上下文敏感完成。
SELECT FROM <tab>
只会显示表名。SELECT FROM users WHERE <tab>
将仅显示列名称。
- 支持多行查询。
- 带有可选位置参数的收藏查询。使用
\fs alias query
并\f alias
在需要时随时执行查询 。 - sql语句和表呈现的时间。
~/.myclirc
首次启动时会自动创建配置文件。- 将每个查询及其结果记录到文件中(默认情况下禁用)。
- 漂亮打印表格数据(带颜色!)
- 支持SSL连接