mysql命令提示工具

mysql安装完毕并初始化之后,就可以启动了。连接进入mysql之后,可以操作mysql。对于初学者或者对命令不熟悉的人,需要一个命令提示的辅助工具。现在介绍两种工具:mysql自带的auto-rehash和印度人开发的mycli

一、auto-rehash

auto-rehash:读取表信息和列信息,可以在连上终端后开启tab补齐功能。

  • 默认情况下,是不启动auto-rehash的
  • 如果需要启动,可以有如下方法
  1. 写入到my.cnf文件中
[mysql]
auto-rehash
#如果不想开启,则可以使用下面的参数的任意一种
#no-auto-rehash
#skip-auto-rehash
  1. 客户端命令行加参数
# mysql -uroot -p -h 127.0.0.1 --auto-rehash

如果不想开启,可以按照如下方法中的一个

# mysql -uroot -p -h 127.0.0.1 --skip-auto-rehash
# mysql -uroot -p -h 127.0.0.1 --no-auto-rehash
  1. 在启动mysql服务器的时候,加上auto-rehash参数
mysqld_safe --user=mysql --auto-rehash &

如果不想使用auto-rehash,除了使用skip-auto-rehash和no-auto-rehash之外,还可以直接-A参数

不靠谱的auto-rehash

  1. 不去重
    可以看到使用tab键,出现很多total,并没有去重


    不靠谱的auto-rehash
  2. 不相关
    数据库中不存在某个表,却依然会给出提示
mysql> use test;
Database changed
mysql> select * from te
tee  test                                
mysql> select * from test;
ERROR 1146 (42S02): Table 'test.test' doesn't exist

很显然,并不存在test或者tee这个表或者列

  1. 不及时
mysql> create table test(a int);
Query OK, 0 rows affected (0.06 sec)

mysql> create table test1(b int);
Query OK, 0 rows affected (0.06 sec)

mysql> select * from te
tee  test
//////可以看到,此处并没有显示之前创建的两个表
mysql> exit
Bye
# mysql -uroot -p -h 127.0.0.1 --auto-rehash
Enter password: 
mysql> use test;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select * from te
tee     test    test.a  test1   test1.b

可以看到,我在一个会话中创建了test1和test2表,但并没有立刻显示出来。而只有退出登录,再进入该数据库后,才“Reading table information for completion of table and column names”,并显示了之前创建的表

  1. 不准确
    上面可以看到,在select * from te使用tab键后,除了显示test1和test2表之外,还显示了表的列,这个时候不应该只显示表吗?

有了上面几个原因,auto-rehash工具其实并不好用。这也难怪默认是不开启的

二、mycli工具

  • Mycli 是一个 MySQL 命令行客户端工具,具有自动完成和语法突出显示功能。
  • 它是由印度人基于 python 开发的一个工具,适合初学者或者对数据库熟悉但命令记不住的人群,能很好地克服记不住命令的困难。本段来自MySQL 命令行神器:mycli
  • 它是使用 prompt_toolkit 库写的,需要 Python 2.7、3.3、3.4、3.5 和 3.6 的支持
  • MyCLI 还支持通过 SSL 安全连接到 MySQL 服务器

安装mycli

直接使用pip install

# pip install mycli

如果没有pip,则需要先安装pip
如果遇到下面的错误

ERROR: 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

mycli初试

mycli初试

可以看到mycli是一个替代mysql客户端的另外一个终端,可以高亮,可以提示命令和表名、列名、历史语句,都比较精准。推荐使用。

mycli参数

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,907评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,987评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,298评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,586评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,633评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,488评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,275评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,176评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,619评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,819评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,932评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,655评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,265评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,871评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,994评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,095评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,884评论 2 354

推荐阅读更多精彩内容

  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,381评论 0 5
  • 什么是数据库? 数据库是存储数据的集合的单独的应用程序。每个数据库具有一个或多个不同的API,用于创建,访问,管理...
    chen_000阅读 4,035评论 0 19
  • 一. 连接MySQL 格式: mysql -h主机地址 -u用户名 -p用户密码 或者: mysql -u 用户名...
    java日记阅读 418评论 0 3
  • 1.A simple master-to-slave replication is currently being...
    Kevin关大大阅读 5,968评论 0 3
  • 更新 修改数据库密码 1.苹果->系统偏好设置->最下边点mysql 在弹出页面中 关闭mysql服务(点击sto...
    190CM阅读 461评论 0 5