mysq命令行下pager用法小技巧

使用mysql命令行時, 輸出太多的東西, 看不到就很悲劇了。在shell中可以使用管道或是直接用more, 但是mysql命令行裏怎麼辦呢?

mysql3306.sock [(none)]> \h

pager (\P) Set PAGER [to_pager]. Print the query results via PAGER. 


1.

# 設置less閱讀模式

mysql3306.sock [bailidb]> pager less;

PAGER set to 'less'


# 使用less閱讀模式查看InnoDB Status信息

mysql3306.sock [bailidb]> show engine innodb status\G;

/TRANSACTION => 搜索

n => 下一個

Home鍵 ↑ Top

End鍵 ↓ bottom

q => 退出

空格 => 下一頁


# 取消pager設置

mysql3306.sock [bailidb]> nopager; \n

PAGER set to stdout


2. 

# 處理大量的數據集的時候, 如果只想關心結果(比如說花費的時間)

mysql3306.sock [bailidb]> pager cat > /dev/null;

PAGER set to 'cat > /dev/null'


mysql3306.sock [bailidb]> show tables;

5 rows in set (0.00 sec)


mysql3306.sock [bailidb]> select * from t2;

1 row in set (0.00 sec)


mysql3306.sock [bailidb]> nopager; \n

PAGER set to stdout


3.

# 在進行SQL調優, 有大量的結果產生, 可以通過checksum去比較每次調整後的SQL語句所產生的結果是否是相同的

mysql3306.sock [bailidb]> pager md5sum;

mysql3306.sock [bailidb]> select * from t1;

3cd934ef8bc8faa65b917a9fb8c15847  -

1 row in set (0.00 sec)


mysql3306.sock [bailidb]> select * from t2;

6aff230e5e7bcf6af5bbceda0256288a  -


mysql3306.sock [bailidb]> nopager; \n

PAGER set to stdout 


4. 

# show processlist 檢查

mysql3306.sock [(none)]> pager grep Sleep;

PAGER set to 'grep Sleep'

mysql3306.sock [(none)]> show processlist;

|  4 | root | localhost | NULL | Sleep   |   53 |          | NULL             |

mysql3306.sock [bailidb]> nopager; \n

PAGER set to stdout


學習自該篇文章,自己做了驗證

http://www.coin163.com/it/6991542063249997190/pager-mysql

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章