MySQL的命令行其实也能像ORACLE的sql/plus同样灵活多变
mysql
1、将mysql下执行的内容导出成文件(非into outfile)git
tee /path/file 指定导出文件名称github
notee 中止导出sql
root@localhost:wm_ztcj> tee /tmp/user.log Logging to file '/tmp/user.log' root@localhost:wm_ztcj> select user,host,password from mysql.user; +-----------------+-----------------------+-------------------------------------------+ | user | host | password | +-----------------+-----------------------+-------------------------------------------+ | root | localhost | *728A5A63A7262B3CDCF9F016C5C8922964944607 | | root | localhost.localdomain | *728A5A63A7262B3CDCF9F016C5C8922964944607 | | root | 127.0.0.1 | *728A5A63A7262B3CDCF9F016C5C8922964944607 | | root | ::1 | *728A5A63A7262B3CDCF9F016C5C8922964944607 | | repl | % | *50C610800D1B52DF4C81430612A0A4DF1B5487DE | | wg_user | % | *C91B3E8D9994614CDC307B3DA6E04616A780E21E | | wm_sns_user | % | *14A720739D63BA762B59848FBB67436EEA6F1D46 | | wm_sns_user | 192.168.0.% | *14A720739D63BA762B59848FBB67436EEA6F1D46 | | wm_sns_user | localhost | *14A720739D63BA762B59848FBB67436EEA6F1D46 | | checker | % | *9A85346FF112526836DB4101A6794463E03D8727 | | zabbix | localhost | *9CBC0CDFECC6EDB55518791A797EAEE799141804 | | wm_ztcj | % | *E1CBA20F460E6A92300A2D40049990345A449EEA | | wm_develop_test | % | *2B084359A06856B7758E41D33BE6D0DD7AB79CCB | | wm_develop_test | localhost | *2B084359A06856B7758E41D33BE6D0DD7AB79CCB | | wm_ztcj | localhost | *E1CBA20F460E6A92300A2D40049990345A449EEA | | wm_develop_test | 192.168.0.% | *2B084359A06856B7758E41D33BE6D0DD7AB79CCB | | root | 192.168.0.% | *728A5A63A7262B3CDCF9F016C5C8922964944607 | +-----------------+-----------------------+-------------------------------------------+ 17 rows in set (0.01 sec) root@localhost:wm_ztcj> notee Outfile disabled. root@localhost:wm_ztcj> exit Bye [mysql@WM_ZTCJ ~]$ more /tmp/user.log root@localhost:wm_ztcj> select user,host,password from mysql.user; +-----------------+-----------------------+-------------------------------------------+ | user | host | password | +-----------------+-----------------------+-------------------------------------------+ | root | localhost | *728A5A63A7262B3CDCF9F016C5C8922964944607 | | root | localhost.localdomain | *728A5A63A7262B3CDCF9F016C5C8922964944607 | | root | 127.0.0.1 | *728A5A63A7262B3CDCF9F016C5C8922964944607 | | root | ::1 | *728A5A63A7262B3CDCF9F016C5C8922964944607 | | repl | % | *50C610800D1B52DF4C81430612A0A4DF1B5487DE | | wg_user | % | *C91B3E8D9994614CDC307B3DA6E04616A780E21E | | wm_sns_user | % | *14A720739D63BA762B59848FBB67436EEA6F1D46 | | wm_sns_user | 192.168.0.% | *14A720739D63BA762B59848FBB67436EEA6F1D46 | | wm_sns_user | localhost | *14A720739D63BA762B59848FBB67436EEA6F1D46 | | checker | % | *9A85346FF112526836DB4101A6794463E03D8727 | | zabbix | localhost | *9CBC0CDFECC6EDB55518791A797EAEE799141804 | | wm_ztcj | % | *E1CBA20F460E6A92300A2D40049990345A449EEA | | wm_develop_test | % | *2B084359A06856B7758E41D33BE6D0DD7AB79CCB | | wm_develop_test | localhost | *2B084359A06856B7758E41D33BE6D0DD7AB79CCB | | wm_ztcj | localhost | *E1CBA20F460E6A92300A2D40049990345A449EEA | | wm_develop_test | 192.168.0.% | *2B084359A06856B7758E41D33BE6D0DD7AB79CCB | | root | 192.168.0.% | *728A5A63A7262B3CDCF9F016C5C8922964944607 | +-----------------+-----------------------+-------------------------------------------+ 17 rows in set (0.01 sec)
2、使用edit编辑vim
有时候数据一整条很长的命令以后,但愿从新编辑一下,若是光靠光标左右移动,效果不好,能够直接edit编辑bash
root@localhost:wm_ztcj_develop> select * from wm_user_dynamic2 limi 1\G ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1' at line 1 root@localhost:wm_ztcj_develop> edit
这样就进入了VIM(我将默认的VI编辑器变成了vim)中编译命令编辑完成以后退出dom
能够手动指定 set @editor='vim';编辑器
1 select * from wm_user_dynamic2 limit 1 ~ /tmp/sql183PTC [+] "/tmp/sql183PTC" 1L, 39C written -> \G --输入;或者\G继续执行以前的命令 *************************** 1. row *************************** ID: 2800626 UID: 1 OUID: 1 CUID: NULL BID: NULL CID: NULL BCID: NULL HDID: NULL PCID: NULL CDID: NULL RID: 2222 ADDTERMINAL: 4 STATE: NULL DISPLAY: 0 TYPE: 1 ADDTIME: 2014-03-26 15:04:38 ADDADMINID: NULL ADDIP: NULL LASTUPDATETIME: NULL LASTUPDATEIP: NULL LASTUPDATEADMINID: NULL
3、MySQL的Pager(页面显示风格)
工具
有时数据量大一次显示完不方便查阅,但愿能像more同样读取:spa
root@localhost:wm_ztcj_develop> pager more PAGER set to 'more' root@localhost:wm_ztcj_develop> show status; +-----------------------------------------------+----------------+ | Variable_name | Value | +-----------------------------------------------+----------------+ | Aborted_clients | 1666 | | Aborted_connects | 28776 | | Binlog_cache_disk_use | 4 | | Binlog_cache_use | 339021 | | Binlog_stmt_cache_disk_use | 11387 | | Binlog_stmt_cache_use | 67796 | | Bytes_received | 643 | | Bytes_sent | 17685 | | Com_admin_commands | 0 | | Com_assign_to_keycache | 0 | | Com_alter_db | 0 | | Com_alter_db_upgrade | 0 | | Com_alter_event | 0 | | Com_alter_function | 0 | | Com_alter_procedure | 0 | | Com_alter_server | 0 | | Com_alter_table | 0 | | Com_alter_tablespace | 0 | | Com_drop_server | 0 | | Com_drop_table | 0 | | Com_drop_trigger | 0 | | Com_drop_user | 0 | | Com_drop_view | 0 | --More--
若是但愿从结果中过滤关键字,也可将pager替换成grep工具:
例如想查看innodb中checkponit位置变化
root@localhost:wm_ztcj_develop> pager grep checkpoint PAGER set to 'grep checkpoint' root@localhost:wm_ztcj_develop> show engine innodb status\G select sleep(3);show engine innodb status\G Last checkpoint at 437227579829 1 row in set (0.05 sec) 1 row in set (3.00 sec) Last checkpoint at 437243479330 1 row in set (0.05 sec)
为了避免影响下次查询的使用,须要将pager 设置成标准输出,或者以前的配置
root@localhost:wm_ztcj_develop> pager more PAGER set to 'more' root@localhost:wm_ztcj_develop> \n --设置成标准输出 PAGER set to stdout root@localhost:wm_ztcj_develop> \P --设置成以前的输出方式 PAGER set to 'more'
4、给命令行上色
须要下载一个工具grc,并使用配置文件color-mysql-console
[mysql@WM_ZTCJ ~]$ wget http://korpus.juls.savba.sk/~garabik/software/grc/grc_1.5.tar.gz [mysql@WM_ZTCJ ~]$ tar zvxf grc_1.5.tar.gz [mysql@WM_ZTCJ ~]$ cd grc-1.5/ [mysql@WM_ZTCJ ~]$ ./install.sh /usr/local/grc --指定你但愿安装的路径 安装完毕以后,上传color-mysql-console的配置文件 下载地址: [mysql@WM_ZTCJ ~]$ wget https://codeload.github.com/nitso/colour-mysql-console/zip/master 解压后将配置文件放在当前用户的家目录下便可 [mysql@WM_ZTCJ ~]$ echo "alias mysql=$(echo -e 'mysql --prompt="\x1B[31m\\u\x1B[34m@\x1B[32m\\h\x1B[0m:\x1B[36m\\d>\x1B[0m "')" >> .bash_profile
再次登陆mysql:
是否是要比枯燥的黑白色好多了?
5、pager md5sum 校验
若是在改写SQL以后但愿校验下改写的SQL执行结果是否与以前的一直,能够以下使用:
root@localhost:wm_ztcj> pager md5sum PAGER set to 'md5sum' root@localhost:wm_ztcj> select * from wm_user_info order by id desc limit 1;select * from wm_user_info where id=(select max(id) from wm_user_info); 125138b7769186a6834ad030ad928f74 - 1 row in set (0.41 sec) 125138b7769186a6834ad030ad928f74 - 1 row in set (0.00 sec)
这样就能够避免逐条比较记录了,直接获取结果。