国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

使用percona-toolkit操作MySQL的實用命令小結

2024-07-24 13:08:14
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了使用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文件中:

 

 
  1. pt-archiver --source h=192.168.3.135,D=sanmao,t=oss_log --user=root --password=zhang@123 --dest 

 

 
  1. 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文件中:

 

 
  1. 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的記錄:

 

 
  1. 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的表 ,并打印。

 

 
  1. 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引擎。

 

 
  1. 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庫中的空表,并刪除。

 

 
  1. 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的表:

 

 
  1. 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的語句,并打印

 

  1. pt-kill --busy-time 60 --print --host=192.168.3.135 --user=root --password=zhang@123 

范例2:查找192.168.3.135服務器運行時間超過60s的語句,并kill

 

 
  1. pt-kill --busy-time 60 --kill --host=192.168.3.135 --user=root --password=zhang@123 

范例3:從proccesslist文件中查找執行時間超過60s的語句

 

 
  1. mysql -uroot -pzhang@123 -h192.168.3.135 -e "show processlist" > processlist.txt 
  2. 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:查看本地和遠程服務器的配置文件差異:

 

 
  1. pt-config-diff h=localhost h=192.168.3.92 --user=root --password=zhang@123 

比較出來內容如下:

 

 
  1. 22 config differences 
  2. Variable localhost.localdomain localhost.localdomain 
  3. ========================= ===================== ===================== 
  4. binlog_cache_size 8388608 2097152 
  5. have_ndbcluster DISABLED NO 
  6. innodb_additional_mem_... 16777216 33554432 
  7. innodb_buffer_pool_size 1677721600 1073741824 

范例2:比較本地配置文件和遠程服務器的差異:

 

 
  1. pt-config-diff /etc/my.cnf h=192.168.3.92 --user=root --password=zhang@123 

比較出來內容如下:

 

  1. 12 config differences 
  2. Variable /etc/my.cnf localhost.localdomain 
  3. ========================= =========== ===================== 
  4. binlog_cache_size 8388608 2097152 
  5. binlog_format mixed MIXED 



范例3:比較本地兩個配置文件的差異:

 

 
  1. 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和配置信息:

 

 
  1. pt-mysql-summary -- --user=root --password=zhang@123 --host=localhost 

范例2:匯總本地mysql服務器192.168.3.92的status和配置信息:

 

 
  1. 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獲取變量值

 

 
  1. pt-variable-advisor --user=root --password=zhang@123 localhost 

范例2:從指定的文件中讀取配置,這個有格式要求

 

 
  1. pt-variable-advisor --user=root --password=zhang@123 --source-of-variables my.cnf 


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 衡阳市| 沈阳市| 屯留县| 新丰县| 南城县| 凤凰县| 栖霞市| 河曲县| 永宁县| 蒙阴县| 崇礼县| 永寿县| 休宁县| 万源市| 醴陵市| 太白县| 酒泉市| 肃北| 交城县| 卓尼县| 贵阳市| 孝昌县| 齐齐哈尔市| 百色市| 天祝| 北海市| 吕梁市| 福建省| 黎川县| 齐河县| 内江市| 六枝特区| 门头沟区| 调兵山市| 章丘市| 大洼县| 石阡县| 伊金霍洛旗| 永昌县| 监利县| 田林县|