mysql命令技巧_mysql命令行技巧汇总大全

哥每天来上班,第一件事就是ssh连接到服务器,w看一下还有谁在线,wall问个早安,然后就mysql -uroot -p 连接上mysqld。直到下班,才会ctrl+d退出。

mysql命令行用得多了, 也就总结出来了一些技巧,今天就来分享一下:

1) pager

pager真是一个很神奇的东西,它可以控制mysql的输出。默认值是stdout,直接输出。

艾,貌似讲不清楚啊,还是看几个例子吧:

mysql> SELECT mobile FROM profile WHERE mobile!='';

+-------------+

| mobile |

+-------------+

| 13719001986 |

| 123214234 |

+-------------+

2 ROWS IN SET (0.00 sec)

mysql>

mysql> pager grep "137"

PAGER SET TO 'grep "137"'

mysql>

mysql> SELECT mobile FROM profile WHERE mobile!='';

| 13719001986 |

2 ROWS IN SET (0.00 sec)

mysql> pager

DEFAULT pager wasn't set, using stdout

相当于在输出之后附加了 | grep “137″ ,是不是很震憾。

不止是grep, 所有linux上面的命令都可以的,自由发挥吧。

比如select很多行数据,就可以设置pager more,一页一页地看。

再比如要比较二次select的结果是否相同,可以设置pager md5sum,实在是太赞了。

再比如,只想看select语句运行需要多长时间,而不想看到select出来的结果集,可以使用

pager cat > /dev/null

再比如,看一下processlist里面Sleep的线程有多少,可以使用

pager grep Sleep | wc -l

2) edit

肯定有人会有这样的想法:在mysql命令行里面编辑一个复杂点的sql语句实在是太费神了,光标只能左右移动,要是有个vi就好多啦。

其实真的有….

mysql> edit

就这么简单,谁用谁知道。

3) tee

如果想记录下来您所有的操作及输出,除了屏幕录象软件之外,还有这么一个神奇的东西tee。

mysql> tee /tmp/h.log

Logging TO file '/tmp/h.log'

mysql>

mysql>

mysql> SHOW engine innodb STATUS;

.........

mysql> exit

所有的一切都被记录在 /tmp/h.log文件中了。

4) prompt

快要去吃午饭了, 这时如果你又想看一条UPDATE语句究竟会执行多久,怎么办?

等下去就要饿死啦。

修改一下mysql的prompt提示符,轻松解决这个问题:

mysql> prompt \r:\m:\s\P>\_

PROMPT SET TO '\r:\m:\s\P>\_'

11:30:10am>

11:30:11am>

11:30:11am>

11:30:12am>

11:30:12am>

11:30:12am>

11:30:12am>

输入UPDATE语句,回车走人。

吃完饭回来就可以看到执行结束的时间了。

5) ctrl+z

作为一个dba,每天都要在命令行中登陆mysql,运行完sql语句,随手就logout了,(快捷键是ctrl+d),

过一段时间又要login,又随手logout……

重复重复再重复,不仅浪费时间,而且输入mysql root的复杂密码也会烦死个人。

这个logout的坏习惯,一定要改掉。。。,哥已经改掉了。

mysql>

mysql>

mysql> SELECT now();

+---------------------+

| now() |

+---------------------+

| 2012-12-25 15:33:16 |

+---------------------+

1 ROW IN SET (0.00 sec)

mysql>

不要按ctrl+d了, 换成Ctrl+z , 暂停任务。

[1]+ Stopped /home/mysql/bin/mysql -uroot -p

[MODIFY@www 8p]$

[MODIFY@www 8p]$

[MODIFY@www 8p]$

需要用到mysql的时候,

输入fg回车:

[MODIFY@www 8p]$ fg

/home/mysql/bin/mysql -uroot -p

mysql>

mysql>

是不是很爽。。。

6) html输出

-H

[root@www ~]# /home/mysql/bin/mysql -uroot -p -H -e "select host from mysql.user";

Enter password:

host
localhost
localhost
localhost
localhost
localhost
localhost
[root@www ~]#

7) 最简化输出

如果只想要结果,不要那些边框,字段名称之类的东西,可以使用 –skip-line-numbers –skip-column-names

[root@www ~]# /home/mysql/bin/mysql -uroot -p -e "select count(*) from shipincon.share where add_time >= current_date()";

+----------+

| COUNT(*) |

+----------+

| 850 |

+----------+

[root@www ~]# /home/mysql/bin/mysql --silent --skip-line-numbers --skip-column-names -uroot -p -e "select count(*) from shipincon.share where add_time >= current_date()";

850

8) help

在不方便上网查找mysql文档的情况下,help还是很靠谱的。

mysql> help string functions;

You asked FOR help about help category: "String Functions"

FOR more information, TYPE 'help ', WHERE IS one OF the following

topics:

ASCII

BIN

BINARY OPERATOR

BIT_LENGTH

CAST

CHAR FUNCTION

CHARACTER_LENGTH

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值