MySQL 命令行神器:mycli
50

今天再推荐一款命令行神器 —— Mycli。
Mycli是一个MySQL命令行客户端工具,具有自动完成和语法突出显示功能。
它是由印度人基于python开发的一个工具,,适合初学者或者对数据库熟悉但命令记不住的人群,能很好地克服记不住命令的困难。

安装

建议先安装依赖

$ yum install python-pip python-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 mycli

一般的已经知道如何安装python包,那么您可以简单地执行:

$ pip install mycli

如果是在macOS上,你可以通过homebrew安装它。

$ brew update && brew install mycli

如果您在安装时遇到问题,请查看官网以获取详细说明。

使用

你只需要一个命令 mycli 就可以启动

Snipaste_2018-09-05_20-51-26.png

详细参数参考下面:

$ 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.
      --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.

欢迎访问我的个人博客 https://imwnk.cn

本帖由 Summer 于 1周前 加精
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 8

谢谢分享

1周前

原理是什么?自己实现的还是模拟的?

1周前

:+1:

1周前

@qufo 这款工具使用python开发的,使用Pyhton 的prompt_toolkit包实现的自动提示

1周前

一直在用

1周前

我想知道,你们都是什么什么情况下用cli操作数据库?本地不都是直接用Navicat这种图形工具方便吗

1周前

@839891627 一般调试情况下都是图形的,但是生产环境上,数据库一般都是限制服务器本地访问的。

1周前
licheng

sudo apt install mycli 直接下载,就算没有py依赖也会自动安装的

1周前

  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!