Zhangxu's Blog.

使用命令行式的MYSQL客户端

Word count: 558 / Reading time: 3 min
2018/02/28 Share

最近需要连接到某个数据库,但是由于防护墙限制只能从一个特定的主机上连接,而这个主机是无UI界面的Linux系统。

那么有没有一款命令行式的MYSQL客户端呢?有的,我找到了mycli,它有直观的语法突出显示,你可以用它方便的操作自己的数据库。

如果恰好有Python的环境,可以用以下指令轻松安装:

1
$ pip install mycli

或者下载源码后:

1
$ python setup.py install

其他的平台:

1
2
$ brew update && brew install mycli  # macOS
$ sudo apt-get install mycli # debian or ubuntu

安装好后输入命令:

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

根据提示连接后,就可以用你熟知的SQL操作数据库啦:

Version: 1.17.0
Chat: https://gitter.im/dbcli/mycli
Mail: https://groups.google.com/forum/#!forum/mycli-users
Home: http://mycli.net
Thanks to the contributor - Steve Robbins
mysql wptest@127.0.0.1:wptest> show tables;                    
                                    share    
                                    show     










[F3] Multiline: OFF    Right-arrow to complete suggestion 
CATALOG