mysql命令技巧 mysql命令列技巧彙總大全

2021-10-18 00:15:04 字數 3313 閱讀 5557

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> 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()";

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

binbinary operator

bit_length

cast

char function

character_length

mysql鎖命令 MySQL鎖定狀態檢視命令

1 show processlist show processlist顯示哪些執行緒正在執行。您也可以使用mysqladmin processlist語句得到此資訊。如果您有super許可權,您可以看到所有執行緒。否則,您只能看到您自己的執行緒 也就是,與您正在使用的mysql賬戶相關的執行緒 如果...

mysql 常規命令操作 mysql常用的命令操作

檢視正在執行的sql mysql show full processlist 檢視正在執行的sql mysql show variables like max 檢視mysql的一些配置引數 mysql show status 檢視當前會話下mysql的一些狀態。mysql show global s...

nohup 執行mysql命令 nohup命令

在應用unix linux時,我們一般想讓某個程式在後台執行,於是我們將常會用 在程式結尾來讓程式自動執行。比如我們要執行mysql在後台 usr local mysql bin mysqld safe user mysql 可是有很多程式並不想mysqld一樣,這樣我們就需要nohup命令,怎樣使...