我常用的MySQL客户端有三:官方的命令行工具mysql和图形界面软件MySQL Workbench,以及第三方命令行工具mycli。此三者都是经过无数实践检验过的,并且免费、跨平台。
我的笔记本上的MySQL主要是作练习和测试之用,因此命令行的mysql已经绰绰有余了。我偶尔也用图形界面的MySQL Workbench。注意,mysql的自动补全功能依赖于readline,后者在Windows上默认是没有的。
mycli提供了无可匹敌的便捷。我特别喜欢它的语法高亮和自动补全功能。
安装
mycli基于Python,通过包管理器pip安装。
在Windows下,需要确保已安装了Pythonh和pip。以管理员身份打开命令行,输入pip的安装命令:python -m pip install mycli。
在Ubuntu下,输入:pip install mycli。
快速上手
mycli的使用非常方便,容易上手。
如下图,mycli会根据上下文,自动补全语法关键字和名称。
此外,mycli会记住最常用的查询,在后续的使用中给出非常贴心的查询建议。
常用快捷键
mycli提供行内编辑功能,其快捷键与bash一致,非常容易掌握。
我常用的是这几个:
- Ctrl + A将光标移行首,Ctrl + A将光标移行首尾。
- Ctrl + U删除至行首,Ctrl + K删除至行尾。
- Alt + B向前移动一个单词,Alt + F向后移动一个单词。
- Ctrl + W删除当前单词。
- Tab补全关键词/名称。
- 右箭头选用整行的自动补全建议。
- Ctrl + L清除屏幕内容。
登录凭证
mycli支持三种保存和使用凭证的方式:.my.cnf,login path, DSN别名。
.my.cnf
mycli能识别用户目录下的选项文件.my.cnf,可以在其中指定默认登录凭证,并放到[client]选项组。
Login Path
MySQL 5.6.6及更新版本支持login paht(登录路径)。与mysql等MySQL自带的客户端一样,mycliy也支持在启动时指定login path:mycli –login-path mypath。其中mypath是login path的名称。
Login path对应的选项文件是.mylogin.cnf。在Windows下,该文件为C:\User\[username]\.mylogin.cnf。在Linux下,该文件为/home/[username]/.mylogin.cnf。该文件与其他MySQL选项文件有相似的格式。
Login path可以手动编辑,也可用mysql_config_editor进行配置。手动编辑的login path中的密码是明文的,不安全。mysql_config_editor支持创建、移除和显示多个login path,其中的密码以密文保存。
DSN别名
mycli独有的一种登录凭证是DSN别名。可以在myclirc选项文件的[alias_dns]选项组下设置多个别名,如:
example_dsn = mysql://[user[:password]@][netloc][:port][/dbname]
并用mycli -d example_dsn连接到对应的数据库。
在Windows下,.myclirc位于用户目录,通常是C:\User\[username]\.myclirc。在Linux下,该文件的路径为/home/[username]/.myclirc。