数据库命令行操作神器:mycli

文章目录

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

img

效果图如下:

img

img

用法

$ 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连接

推荐文章