mysql常用反斜杠命令 客戶端命令用法


mysql常用反斜杠命令 客戶端命令用法

https://dev.mysql.com/doc/refman/5.7/en/mysql-commands.html

https://dev.mysql.com/doc/refman/5.7/en/flush.html

 


圓括號里面是對應快捷鍵

? (\?) Synonym for `help'.
clear (\c) Clear the current input statement.
connect (\r) Reconnect to the server. Optional arguments are db and host.
delimiter (\d) Set statement delimiter.
edit (\e) Edit command with $EDITOR.
ego (\G) Send command to mysql server, display result vertically.
exit (\q) Exit mysql. Same as quit.
go (\g) Send command to mysql server.
help (\h) Display this help.
nopager (\n) Disable pager, print to stdout.
notee (\t) Don't write into outfile.
pager (\P) Set PAGER [to_pager]. Print the query results via PAGER.
print (\p) Print current command.
prompt (\R) Change your mysql prompt.
quit (\q) Quit mysql.
rehash (\#) Rebuild completion hash.
source (\.) Execute an SQL script file. Takes a file name as an argument.
status (\s) Get status information from the server.
system (\!) Execute a system shell command.
tee (\T) Set outfile [to_outfile]. Append everything into given
outfile.
use (\u) Use another database. Takes database name as argument.
charset (\C) Switch to another charset. Might be needed for processing
binlog with multi-byte charsets.
warnings (\W) Show warnings after every statement.
nowarning (\w) Don't show warnings after every statement.

 


連接數
如果我只想知道服務器連接有沒有打滿,那么我並不需要 show processlist ,直接 \s ,status,就知道了
數據庫連接線程為 1 個,沒有程序或人連數據庫,只有我!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


status (\s) Get status information from the server. 快捷鍵是\s
MySQL 連接的客戶端是 5.7.27
MySQL Server 的版本是 5.7.27 社區版
開啟了"客戶端審計日志",輸出到 /tmp/tee.log
我連接數據庫用的是 sock 方式
一般來說不能獲取連接的數據庫端口信息,但這里的命名我甚至獲取了端口信息!
我 pager 沒有設置,用的默認 stdout,標准輸出到屏幕
數據庫開機運行時間 1 小時 15 分鍾,數據庫被重啟過了?
數據庫連接線程為 1 個,沒有程序或人連數據庫,只有我!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Questions 數 145 個。
Slow queries為 0,沒有慢查詢
Opens 數 195,沒有快達到 65536 的上限
Open tables 數 188,沒有快達到 65536 的上限
Queries per second avg,這個是 QPS,但他的算法是除以 uptime 時間,所以並不能反映現在服務器的負荷,沒什么用

看字符集
Server characterset: utf8mb4
Db characterset: utf8mb4
Client characterset: utf8
Conn. characterset: utf8

 




https://time.geekbang.org/column/article/79026

mysql -h127.0.0.1 -uxx -pxx  db1
reading table information for completion of table and column names you can turn off this feature to get a quicker startup with -A


一個庫里有 6 萬個表
--auto-rehash       //自動補全功能,就像linux里面,按Tab鍵出提示差不多,下面有例子不要用,加了一個表,加了一個庫,加了一個字段都重新rehash一次,客戶端經常卡死
-A, --no-auto-rehash  //默認狀態是沒有自動補全功能的。-A就是不要自動補全功能
MySQL 客戶端會提供一個本地庫名和表名補全的功能。為了實現這個功能,客戶端在連接成功后,需要多做一些操作:
1.執行 show databases;
2.切到 db1 庫,執行 show tables;
3.把這兩個命令的結果用於構建一個客戶端本地的哈希hash表。

在這些操作中,最花時間的就是第三步在本地構建哈希表的操作。所以,當一個庫中的表個數非常多的時候,這一步就會花比較長的時間。

也就是說,我們感知到的連接過程慢,其實並不是連接慢,也不是服務端慢,而是客戶端慢。

圖中的提示也說了,如果在連接命令中加上 -A,就可以關掉這個自動補全的功能,然后客戶端就可以快速返回了。
這里自動補全的效果就是,你在輸入庫名或者表名的時候,輸入前綴,可以使用 Tab 鍵自動補全表名或者顯示提示。
實際使用中,如果你自動補全功能用得並不多,我建議你每次使用的時候都默認加 -A。

 

 

f


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM