應用percona-toolkit操作MySQL的適用敕令小結。本站提示廣大學習愛好者:(應用percona-toolkit操作MySQL的適用敕令小結)文章只能為提供參考,不一定能成為您想要的結果。以下是應用percona-toolkit操作MySQL的適用敕令小結正文
1.pt-archiver
功效引見:
將mysql數據庫中表的記載歸檔到別的一個表或許文件
用法引見:
pt-archiver [OPTION...] --source DSN --where WHERE
這個對象只是歸檔舊的數據,不會對線上數據的OLTP查詢形成太年夜影響,你可以將數據拔出別的一台辦事器的其他表中,也能夠寫入到一個文件中,便利應用load data infile敕令導入數據。別的你還可以用它來履行delete操作。這個對象默許的會刪除源中的數據。應用的時刻請留意。
應用示例:
典范1:將192.168.3.135上的sanmao庫的oss_log表id小於100000的記載轉移到192.168.3.92上的sanmao庫,並歸檔到oss_log_archive_20120605.log文件中:
pt-archiver --source h=192.168.3.135,D=sanmao,t=oss_log --user=root --password=zhang@123 --dest
h=192.168.3.92,D=sanmao,t=oss_log --file '/var/log/oss_log_archive_20120605.log' --where "id<=100000" --commit-each
典范2:將192.168.3.135上的sanmao庫的oss_log小於160000的記載歸檔到oss_log_archive_20120607.log文件中:
pt-archiver --source h=192.168.3.135,D=sanmao,t=oss_log --user=root --password=zhang@123 --file '/var/log/oss_log_archive_20120607.log' --where "id<=160000" --commit-each
典范3:刪除192.168.3.135上的sanmao庫的oss_log表中id小於167050的記載:
pt-archiver --source h=192.168.3.135,D=sanmao,t=oss_log --user=root --password=zhang@123 --purge --where 'id<=167050'
留意:假如是字符集是utf8的話,須要在my.cnf中的[client]上面添加default-character-set = utf8,不然導出的文件內容中文會亂碼。
2.pt-find
功效引見:
查找mysql表並履行指定的敕令,和gnu的find敕令相似。
用法引見:
pt-find [OPTION...] [DATABASE...]
默許舉措是打印數據庫名和表名
應用示例:
典范1:查找192.168.3.135中1天之前創立的InnoDB的表 ,並打印。
pt-find --ctime +1 --host=192.168.3.135 --engine InnoDB --user=root --password=zhang@123
典范2:查找192.168.3.135中1天之前更悛改的數據庫名字婚配%hostsops%的而且引擎為MYISAM的表,並將表的引擎更改成InnoDB引擎。
pt-find --mtime +1 --dblike hostsops --engine MyISAM --host=192.168.3.135 --user=root --password=zhang@123 --exec "ALTER TABLE %D.%N ENGINE=InnoDB"
典范3:查找192.168.3.135中aaa庫和zhang庫中的空表,並刪除。
pt-find --empty aaa zhang --host=192.168.3.135 --user=root --password=zhang@123 --exec-plus "DROP TABLE %s"
典范4:查找192.168.3.135中跨越100M的表:
pt-find --tablesize +100M --host=192.168.3.135 --user=root --password=zhang@123
3.pt-kill
功效引見:
Kill失落相符指定前提mysql語句
用法引見:
pt-kill [OPTIONS]
參加沒有指定文件的話pt-kill銜接到mysql並經由過程SHOW PROCESSLIST找到指定的語句,反之pt-kill從包括SHOW PROCESSLIST成果的文件中讀取mysql語句
應用示例:
典范1:查找192.168.3.135辦事器運轉時光跨越60s的語句,並打印
pt-kill --busy-time 60 --print --host=192.168.3.135 --user=root --password=zhang@123
典范2:查找192.168.3.135辦事器運轉時光跨越60s的語句,並kill
pt-kill --busy-time 60 --kill --host=192.168.3.135 --user=root --password=zhang@123
典范3:從proccesslist文件中查找履行時光跨越60s的語句
mysql -uroot -pzhang@123 -h192.168.3.135 -e "show processlist" > processlist.txt pt-kill --test-matching processlist.txt --busy-time 60 --print
4.pt-config-diff
功效引見:
比擬mysql設置裝備擺設文件和辦事器參數
用法引見:
pt-config-diff [OPTION...] CONFIG CONFIG [CONFIG...]
CONFIG可所以文件也能夠是數據源稱號,起碼必需指定兩個設置裝備擺設文件源,就像unix上面的diff敕令一樣,假如設置裝備擺設完整一樣就不會輸入任何器械。
應用示例:
典范1:檢查當地和長途辦事器的設置裝備擺設文件差別:
pt-config-diff h=localhost h=192.168.3.92 --user=root --password=zhang@123
比擬出來內容以下:
22 config differences Variable localhost.localdomain localhost.localdomain ========================= ===================== ===================== binlog_cache_size 8388608 2097152 have_ndbcluster DISABLED NO innodb_additional_mem_... 16777216 33554432 innodb_buffer_pool_size 1677721600 1073741824
典范2:比擬當地設置裝備擺設文件和長途辦事器的差別:
pt-config-diff /etc/my.cnf h=192.168.3.92 --user=root --password=zhang@123
比擬出來內容以下:
12 config differences Variable /etc/my.cnf localhost.localdomain ========================= =========== ===================== binlog_cache_size 8388608 2097152 binlog_format mixed MIXED
典范3:比擬當地兩個設置裝備擺設文件的差別:
pt-config-diff /usr/local/mysql/share/mysql/my-large.cnf /usr/local/mysql/share/mysql/my-medium.cnf
5.pt-mysql-summary
功效引見:
精致地對mysql的設置裝備擺設和sataus信息停止匯總,匯總後你直接看一眼就可以看明確。
用法引見:
pt-mysql-summary [OPTIONS] [-- MYSQL OPTIONS]
任務道理:銜接mysql後查詢出status和設置裝備擺設信息保留莅臨時目次中,然後用awk和其他的劇本對象停止格局化。OPTIONS可以查閱官網的相干頁面。
應用示例:
典范1:匯總當地mysql辦事器的status和設置裝備擺設信息:
pt-mysql-summary -- --user=root --password=zhang@123 --host=localhost
典范2:匯總當地mysql辦事器192.168.3.92的status和設置裝備擺設信息:
pt-mysql-summary -- --user=root --password=zhang@123 --host=192.168.3.92
6.pt-variable-advisor
功效引見:
剖析mysql的參數變量,並對能夠存在的成績提出建議
用法引見:
pt-variable-advisor [OPTION...] [DSN]
道理:依據事後界說的規矩檢討show variables中的設置裝備擺設毛病的設置和值。
應用示例:
典范1:從localhost獲得變量值
pt-variable-advisor --user=root --password=zhang@123 localhost
典范2:從指定的文件中讀取設置裝備擺設,這個有格局請求
pt-variable-advisor --user=root --password=zhang@123 --source-of-variables my.cnf