標籤:日誌 exec 記錄檔 訪問 是什麼 sel upd mysql串連 integer
MySQL內建工具使用介紹:
1)mysql命令:mysql命令事是使用最多的命令工具了,為使用者提供了一個命令列介面來操作管理MySQL的伺服器。
命令格式:
Usage:mysql [OPTIONS][database]
例:mysql -e "select user,host from user" mysql
mysql --help 可以得到相應的基礎使用協助資訊
-e : --execut=name :我們要執行-e後面的命令,但是並不通過mysql串連進入mysql互動介面。此參數在我們寫一些基本的mysql檢查和監控指令碼中非常有用。
-E :--vertical :登陸之後的所有查詢結果都將以縱列顯示
-H ,--html,-X,--xml,:在啟用這兩個參數之後,select出來的所有結果都會按照Html,與Xml格式輸出
--prompt=name :對於營運的人來說是一個非常重要的參數,其主要功能是定製自己的mysql提示符的顯示內容。br/>個人強烈建議:\\[email protected]\\h:\\d\\r:\\m:\\s>
\h:表示主機名稱
\d:表示當前資料庫
\r:小時(12小時制)
\m:分鐘
\s:秒
--tee=name:用來告訴mysql,將所有的輸入和輸出的內容記錄到檔案。在我們進行較大的維護變更的時候,為了方便被查,最好將所有的輸入和輸出的內容記錄下來,方便被查。
也可以直接加入到my.cnf中的[client]
或者在mysql提示符下面執行 tee /path
2)mysqladmin:提供的功能都是與MySQL相關的管理功能
Usage: mysqladmin[OPTIONS]command command
ping :ping命令可以很容易檢測MySQL server是否還能正常提供服務
例: mysqladmin -utest -h192.168.1.1 -p ping
注意:1、地址192.168.1.1 是MySQL server的ip(指本機或別的物理機上的ip)
2、MySQL server 的防火牆要允許3306/tcp 通訊
3、test 一定要是MySQL sever上的授權使用者
status:可以擷取當前MySQL server 的幾個基本的狀態值
mysqladmin status 命令結果有:
Uptime:是MySQL伺服器啟動並執行秒數
Threads:活躍線程的數量即開啟的會話數
Questions:伺服器啟動以來客戶的問題(查詢數目)(只要跟mysql做互動,不管查詢表,還是查詢服務器狀態都記一次)
slow queries:是慢查詢的數量
Opens:已經開啟的資料庫表的數量
Flush tables:mysql 已經執行的flush tables,refresh和reload命令的數量
註:fflush table:重新整理表(清除緩衝)
reload:重載授權表
refresh:洗掉所有表並關閉和開啟記錄檔
open:開啟資料庫的表的數量,以伺服器啟動開始
Querish per second avg:select語句平均查詢的時間
Menory in use:分配的內容(只有在MySQL用--with-debug編譯時間可用)
MAX memory used:分配的最大記憶體(只有在MySQL用--with-debug編譯時間可用)
processlist:擷取當前的資料庫的連接線程資訊
監控mysql進程運行狀態
3) mysqldump:這個工具的功能就是將MySQL server中的資料以SQL語句的形式從資料庫中dump成文字檔(一種備份工具,大量資料不推薦,因為恢複太慢)4)mysqlbinlog:主要是分析MySQL server所產生的二進位檔案附加知識點: 1)INFORMATION_SCHEMA 資料字典,次資料庫儲存了其他所有資料庫的資訊(中繼資料) 中繼資料是關於資料的資料,如database name 或table name ,列的資料類型或存取權限等。 INFORMATION_SCHEMA庫中的主要系統資料表 TABLES表:提供了關於關於資料庫中的表和視圖資訊(table_schame欄位代表 資料表所屬的資料庫名) 例:select * from information——schema.tables wehere table_schema=‘資料庫‘ COLUMNS表:提供了表中的列資訊,詳細表述了某張表的所有列以及每個列的資訊。 select * from information_schema.columns where table_schema=‘資料庫名‘ and table_name=‘表名‘ TABLE_CONSTRAINTS表:儲存主鍵約束,外鍵約束,唯一約束,check約束,各欄位的說明資訊。 select * from information_schema.table_constraints where table_schema=‘資料庫名‘ and table_name=‘表明‘ STAISTICS表:提供了關於表索引的資訊 select * from information_schema.staistics wehere table_schema=‘資料庫名‘ and table_name=‘表名‘ 2)performance_schema效能字典,此資料庫為資料庫效能最佳化提供了重要的參考資訊 3)MySQL資料庫:該資料庫也是個核心資料庫,儲存使用者的許可權資訊與協助資訊。 4)MySQL5.7 提供了sys系統資料庫,sys資料庫裡麵包含了一系列的預存程序,自訂函數以及視圖來協助我們快速的瞭解系統的中繼資料資訊。sys系統資料庫結合了information_schema和performance_schema的相關資料,讓我們更加容易的檢索中繼資料。
mysqlslap效能測試MySQL的儲存引擎
mysqlslap是MySQL內建的基準測試載入器,
優點:查詢資料,文法簡單,靈活容易使用,該工具可以類比多個用戶端同時並發的向伺服器發出查詢更新,給出效能測試資料,而且提供了多種引擎的效能比較,mysqlslap為mysql效能最佳化前後提供了直觀的驗證證據。
常用選項的解釋: --concurrency (-c) 代表並發數量,多個可以用逗號隔開。 --engins 代表要測試的引擎,可以有多個,用分號隔開 --iterations (-i) 代表要運行這些測試多少次,即運行多少次後,得到結果 --auto-generata-sql 代表系統自己產生的SQL指令碼來測試 --auto-generate-sql-load-type:代表要測試的是讀是寫還是混合模式(read,write,updata,mixed) --number-of-queries 代表總共要運行多少次查詢。 --debug-info:代表要額外輸出CPU以及記憶體的相關資訊(註:只有在MySQL用--with-debug編譯時間即可) --number-int-cols :代表測試表中的integer類型的屬性有幾個 --number-char-cols :代表測試表的char類型欄位數量 --create-schema 代表自己定義的模式(在MySQL中也就是庫即建立測試的資料庫) -query 代表自己SQL指令碼 --only-print 如果只想列印看看SQL語句是什麼,可以用這個選項 --csv=name 生產CSV格式資料檔案
mysql 內建工具詳解