溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

mysql 自帶工具詳解

發(fā)布時(shí)間:2020-08-02 21:23:23 來源:網(wǎng)絡(luò) 閱讀:847 作者:清酒故人 欄目:MySQL數(shù)據(jù)庫

MySQL自帶工具使用介紹:
1)mysql命令:mysql命令事是使用最多的命令工具了,為用戶提供了一個(gè)命令行接口來操作管理MySQL的服務(wù)器
命令格式:
Usage:mysql [OPTIONS][database]
例:mysql -e "select user,host from user" mysql
mysql --help 可以得到相應(yīng)的基礎(chǔ)使用幫助信息
-e : --execut=name :我們要執(zhí)行-e后面的命令,但是并不通過mysql連接進(jìn)入mysql交互界面。此參數(shù)在我們寫一些基本的mysql檢查和監(jiān)控腳本中非常有用。
-E :--vertical :登陸之后的所有查詢結(jié)果都將以縱列顯示
-H ,--html,-X,--xml,:在啟用這兩個(gè)參數(shù)之后,select出來的所有結(jié)果都會(huì)按照Html,與Xml格式輸出
--prompt=name :對(duì)于運(yùn)維的人來說是一個(gè)非常重要的參數(shù),其主要功能是定制自己的mysql提示符的顯示內(nèi)容。個(gè)人強(qiáng)烈建議:\\u@\\h:\\d\\r:\\m:\\s>
br/>個(gè)人強(qiáng)烈建議:\\u@\\h:\\d\\r:\\m:\\s>
\h:表示主機(jī)名
\d:表示當(dāng)前數(shù)據(jù)庫
\r:小時(shí)(12小時(shí)制)
\m:分鐘
\s:秒
--tee=name:用來告訴mysql,將所有的輸入和輸出的內(nèi)容記錄到文件。在我們進(jìn)行較大的維護(hù)變更的時(shí)候,為了方便被查,最好將所有的輸入和輸出的內(nèi)容記錄下來,方便被查。
也可以直接加入到my.cnf中的[client]
或者在mysql提示符下面執(zhí)行 tee /path
2)mysqladmin:提供的功能都是與MySQL相關(guān)的管理功能
Usage: mysqladmin[OPTIONS]command command
ping :ping命令可以很容易檢測MySQL server是否還能正常提供服務(wù)
例: mysqladmin -utest -h292.168.1.1 -p ping
注意:1、地址192.168.1.1 是MySQL server的ip(指本機(jī)或別的物理機(jī)上的ip)
2、MySQL server 的防火墻要允許3306/tcp 通信
3、test 一定要是MySQL sever上的授權(quán)用戶
status:可以獲取當(dāng)前MySQL server 的幾個(gè)基本的狀態(tài)值
mysqladmin status 命令結(jié)果有:
Uptime:是MySQL服務(wù)器運(yùn)行的秒數(shù)
Threads:活躍線程的數(shù)量即開啟的會(huì)話數(shù)
Questions:服務(wù)器啟動(dòng)以來客戶的問題(查詢數(shù)目)(只要跟mysql做交互,不管查詢表,還是查詢服務(wù)器狀態(tài)都記一次)
slow queries:是慢查詢的數(shù)量
Opens:已經(jīng)打開的數(shù)據(jù)庫表的數(shù)量
Flush tables:mysql 已經(jīng)執(zhí)行的flush tables,refresh和reload命令的數(shù)量
注:fflush table:刷新表(清除緩存)
reload:重載授權(quán)表
refresh:洗掉所有表并關(guān)閉和打開日志文件
open:打開數(shù)據(jù)庫的表的數(shù)量,以服務(wù)器啟動(dòng)開始
Querish per second avg:select語句平均查詢的時(shí)間
Menory in use:分配的內(nèi)容(只有在MySQL用--with-debug編譯時(shí)可用)
MAX memory used:分配的最大內(nèi)存(只有在MySQL用--with-debug編譯時(shí)可用)
processlist:獲取當(dāng)前的數(shù)據(jù)庫的連接線程信息
監(jiān)控mysql進(jìn)程運(yùn)行狀態(tài)

3)  mysqldump:這個(gè)工具的功能就是將MySQL server中的數(shù)據(jù)以SQL語句的形式從數(shù)據(jù)庫中dump成文本文件(一種備份工具,大量數(shù)據(jù)不推薦,因?yàn)榛謴?fù)太慢)
4)mysqlbinlog:主要是分析MySQL server所產(chǎn)生的二進(jìn)制文件
附加知識(shí)點(diǎn):
    1)INFORMATION_SCHEMA 數(shù)據(jù)字典,次數(shù)據(jù)庫存儲(chǔ)了其他所有數(shù)據(jù)庫的信息(元數(shù)據(jù))
        元數(shù)據(jù)是關(guān)于數(shù)據(jù)的數(shù)據(jù),如database name 或table name ,列的數(shù)據(jù)類型或訪問權(quán)限等。

        INFORMATION_SCHEMA庫中的主要系統(tǒng)表
            TABLES表:提供了關(guān)于關(guān)于數(shù)據(jù)庫中的表和視圖信息(table_schame字段代表 數(shù)據(jù)表所屬的數(shù)據(jù)庫名)
                例:select * from information——schema.tables wehere table_schema='數(shù)據(jù)庫'
            COLUMNS表:提供了表中的列信息,詳細(xì)表述了某張表的所有列以及每個(gè)列的信息。
                select * from information_schema.columns where table_schema='數(shù)據(jù)庫名' and table_name='表名'
            TABLE_CONSTRAINTS表:存儲(chǔ)主鍵約束,外鍵約束,唯一約束,check約束,各字段的說明信息。
                select * from information_schema.table_constraints where table_schema='數(shù)據(jù)庫名' and table_name='表明'
            STAISTICS表:提供了關(guān)于表索引的信息
                select * from information_schema.staistics wehere table_schema='數(shù)據(jù)庫名' and table_name='表名'
    2)performance_schema性能字典,此數(shù)據(jù)庫為數(shù)據(jù)庫性能優(yōu)化提供了重要的參考信息
    3)MySQL數(shù)據(jù)庫:該數(shù)據(jù)庫也是個(gè)核心數(shù)據(jù)庫,存儲(chǔ)用戶的權(quán)限信息與幫助信息。
    4)MySQL5.7 提供了sys系統(tǒng)數(shù)據(jù)庫,sys數(shù)據(jù)庫里面包含了一系列的存儲(chǔ)過程,自定義函數(shù)以及視圖來幫助我們快速的了解系統(tǒng)的元數(shù)據(jù)信息。sys系統(tǒng)數(shù)據(jù)庫結(jié)合了information_schema和performance_schema的相關(guān)數(shù)據(jù),讓我們更加容易的檢索元數(shù)據(jù)。

mysqlslap性能測試MySQL的存儲(chǔ)引擎
mysqlslap是MySQL自帶的基準(zhǔn)測試工具,
優(yōu)點(diǎn):查詢數(shù)據(jù),語法簡單,靈活容易使用,該工具可以模擬多個(gè)客戶端同時(shí)并發(fā)的向服務(wù)器發(fā)出查詢更新,給出性能測試數(shù)據(jù),而且提供了多種引擎的性能比較,mysqlslap為mysql性能優(yōu)化前后提供了直觀的驗(yàn)證證據(jù)。

    常用選項(xiàng)的解釋:
        --concurrency (-c)  代表并發(fā)數(shù)量,多個(gè)可以用逗號(hào)隔開。
        --engins  代表要測試的引擎,可以有多個(gè),用分號(hào)隔開
        --iterations (-i) 代表要運(yùn)行這些測試多少次,即運(yùn)行多少次后,得到結(jié)果
        --auto-generata-sql  代表系統(tǒng)自己生成的SQL腳本來測試
        --auto-generate-sql-load-type:代表要測試的是讀是寫還是混合模式(read,write,updata,mixed)
        --number-of-queries  代表總共要運(yùn)行多少次查詢。
        --debug-info:代表要額外輸出CPU以及內(nèi)存的相關(guān)信息(注:只有在MySQL用--with-debug編譯時(shí)即可)
        --number-int-cols  :代表測試表中的integer類型的屬性有幾個(gè)
        --number-char-cols  :代表測試表的char類型字段數(shù)量
        --create-schema  代表自己定義的模式(在MySQL中也就是庫即創(chuàng)建測試的數(shù)據(jù)庫)
        -query  代表自己SQL腳本
        --only-print  如果只想打印看看SQL語句是什么,可以用這個(gè)選項(xiàng)
        --csv=name 生產(chǎn)CSV格式數(shù)據(jù)文件
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI