最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

安裝和使用percona-toolkit來輔助操作MySQL的基本教程

 更新時(shí)間:2015年11月18日 15:07:59   作者:飛鴻無痕  
這篇文章主要介紹了安裝和使用percona-toolkit來輔助操作MySQL的基本教程,這里舉了五個(gè)最常見的命令用法,需要的朋友可以參考下

一、percona-toolkit簡(jiǎn)介
percona-toolkit是一組高級(jí)命令行工具的集合,用來執(zhí)行各種通過手工執(zhí)行非常復(fù)雜和麻煩的mysql和系統(tǒng)任務(wù),這些任務(wù)包括:

  • 檢查master和slave數(shù)據(jù)的一致性
  • 有效地對(duì)記錄進(jìn)行歸檔
  • 查找重復(fù)的索引
  • 對(duì)服務(wù)器信息進(jìn)行匯總
  • 分析來自日志和tcpdump的查詢
  • 當(dāng)系統(tǒng)出問題的時(shí)候收集重要的系統(tǒng)信息

percona-toolkit源自Maatkit 和Aspersa工具,這兩個(gè)工具是管理mysql的最有名的工具,現(xiàn)在Maatkit工具已經(jīng)不維護(hù)了,請(qǐng)大家還是使用percona-toolkit吧!這些工具主要包括開發(fā)、性能、配置、監(jiān)控、復(fù)制、系統(tǒng)、實(shí)用六大類,作為一個(gè)優(yōu)秀的DBA,里面有的工具非常有用,如果能掌握并加以靈活應(yīng)用,將能極大的提高工作效率。

二、percona-toolkit工具包安裝
1.  軟件包下載
訪問http://www.percona.com/software/percona-toolkit/下載最新版本的Percona Toolkit 或者通過如下命令行來獲取最新的版本:

wget percona.com/get/percona-toolkit.tar.gz
wget percona.com/get/percona-toolkit.rpm

我這里選擇直接從網(wǎng)站上找到最新版本下載:

wget http://www.percona.com/redir/downloads/percona-toolkit/2.1.1/percona-toolkit-2.1.1-1.noarch.rpm
wget http://www.percona.com/redir/downloads/percona-toolkit/2.1.1/percona-toolkit-2.1.1.tar.gz

 從http://pkgs.repoforge.org/perl-TermReadKey/下載最新的TermReadKey包

wget http://pkgs.repoforge.org/perl-TermReadKey/perl-TermReadKey-2.30-1.el5.rf.x86_64.rpm

 
2. 軟件包安裝
我的環(huán)境是Centos 5.5 64 BIT
A. percona-toolkit的rpm安裝方式

rpm -ivh perl-TermReadKey-2.30-1.el5.rf.x86_64.rpm
rpm -ivh percona-toolkit-2.1.1-1.noarch.rpm

注意:需要安裝Term::ReadKey 包,否則會(huì)報(bào)perl(Term::ReadKey) >= 2.10 is needed by percona-toolkit-2.1.1-1.noarch錯(cuò)誤
B. percona-toolkit的編譯安裝方式
tar xzvf percona-toolkit-2.1.1.tar.gz
cd percona-toolkit-2.1.1
perl Makefile.PL
make
make test
make install

三、常用功能
1. pt-duplicate-key-checker
功能介紹:
功能為從mysql表中找出重復(fù)的索引和外鍵,這個(gè)工具會(huì)將重復(fù)的索引和外鍵都列出來,并生成了刪除重復(fù)索引的語(yǔ)句,非常方便
用法介紹:
pt-duplicate-key-checker [OPTION...] [DSN]
包含比較多的選項(xiàng),具體的可以通過命令pt-duplicate-key-checker  --help來查看具體支持那些選項(xiàng),我這里就不一一列舉了。DNS為數(shù)據(jù)庫(kù)或者表。
使用示例:
查看test數(shù)據(jù)庫(kù)的重復(fù)索引和外鍵使用情況使用如下命令

pt-duplicate-key-checker --host=localhost --user=root --password=zhang@123 --databases=test

       
2. pt-online-schema-change
功能介紹:
功能為在alter操作更改表結(jié)構(gòu)的時(shí)候不用鎖定表,也就是說執(zhí)行alter的時(shí)候不會(huì)阻塞寫和讀取操作,注意執(zhí)行這個(gè)工具的時(shí)候必須做好備份,操作之前最好詳細(xì)讀一下官方文檔http://www.percona.com/doc/percona-toolkit/2.1/pt-online-schema-change.html。
工作原理是創(chuàng)建一個(gè)和你要執(zhí)行alter操作的表一樣的空表結(jié)構(gòu),執(zhí)行表結(jié)構(gòu)修改,然后從原表中copy原始數(shù)據(jù)到表結(jié)構(gòu)修改后的表,當(dāng)數(shù)據(jù)copy完成以后就會(huì)將原表移走,用新表代替原表,默認(rèn)動(dòng)作是將原表drop掉。在copy數(shù)據(jù)的過程中,任何在原表的更新操作都會(huì)更新到新表,因?yàn)檫@個(gè)工具在會(huì)在原表上創(chuàng)建觸發(fā)器,觸發(fā)器會(huì)將在原表上更新的內(nèi)容更新到新表。如果表中已經(jīng)定義了觸發(fā)器這個(gè)工具就不能工作了。
用法介紹:
pt-online-schema-change [OPTIONS] DSN
options可以自行查看help,DNS為你要操作的數(shù)據(jù)庫(kù)和表。
這里有兩個(gè)參數(shù)需要介紹一下:
--dry-run  這個(gè)參數(shù)不建立觸發(fā)器,不拷貝數(shù)據(jù),也不會(huì)替換原表。只是創(chuàng)建和更改新表。
--execute  這個(gè)參數(shù)的作用和前面工作原理的介紹的一樣,會(huì)建立觸發(fā)器,來保證最新變更的數(shù)據(jù)會(huì)影響至新表。注意:如果不加這個(gè)參數(shù),這個(gè)工具會(huì)在執(zhí)行一些檢查后退出。這一舉措是為了讓使用這充分了解了這個(gè)工具的原理,同時(shí)閱讀了官方文檔。
使用示例:
在線更改表的的引擎,這個(gè)尤其在整理innodb表的時(shí)候非常有用,示例如下:

pt-online-schema-change --user=root --password=zhang@123 --host=localhost --lock-wait-time=120 --alter="ENGINE=InnoDB" D=test,t=oss_pvinfo2 --execute

從下面的日志中可以看出它的執(zhí)行過程:

Altering `test`.`oss_pvinfo2`...
Creating new table...
Created new table test._oss_pvinfo2_new OK.
Altering new table...
Altered `test`.`_oss_pvinfo2_new` OK.
Creating triggers...
Created triggers OK.
Copying approximately 995696 rows...
Copied rows OK.
Swapping tables...
Swapped original and new tables OK.
Dropping old table...
Dropped old table `test`.`_oss_pvinfo2_old` OK.
Dropping triggers...
Dropped triggers OK.
Successfully altered `test`.`oss_pvinfo2`.

在來一個(gè)范例,大表添加字段的,語(yǔ)句如下:

pt-online-schema-change --user=root --password=zhang@123 --host=localhost --lock-wait-time=120 --alter="ADD COLUMN domain_id INT" D=test,t=oss_pvinfo2 --execute

3. pt-query-advisor
功能介紹:
根據(jù)一些規(guī)則分析查詢語(yǔ)句,對(duì)可能的問題提出建議,這些評(píng)判規(guī)則大家可以看一下官網(wǎng)的鏈接:http://www.percona.com/doc/percona-toolkit/2.1/pt-query-advisor.html,這里就不詳細(xì)列舉了。那些查詢語(yǔ)句可以來自慢查詢文件、general日志文件或者使用pt-query-digest截獲的查詢語(yǔ)句。目前這個(gè)版本有bug,當(dāng)日志文件非常大的時(shí)候會(huì)需要很長(zhǎng)時(shí)間甚至進(jìn)入死循環(huán)。
用法介紹:

pt-query-advisor /path/to/slow-query.log
pt-query-advisor --type genlog mysql.log
pt-query-digest --type tcpdump.txt --print --no-report | pt-query-advisor

 
使用示例:
分析一個(gè)語(yǔ)句的例子:

pt-query-advisor --query "select * from aaa"

分析general log中的查詢語(yǔ)句的例子:

pt-query-advisor /data/dbdata/general.log

分析慢查詢中的查詢語(yǔ)句的例子:

pt-query-advisor /data/dbdata/localhost-slow.log

 
4.  pt-show-grants
功能介紹:
規(guī)范化和打印mysql權(quán)限,讓你在復(fù)制、比較mysql權(quán)限以及進(jìn)行版本控制的時(shí)候更有效率!
用法介紹:
pt-show-grants [OPTION...] [DSN]
選項(xiàng)自行用help查看,DSN選項(xiàng)也請(qǐng)查看help,選項(xiàng)區(qū)分大小寫。
使用示例:
查看指定mysql的所有用戶權(quán)限:

pt-show-grants --host='localhost' --user='root' --password='zhang@123'

查看執(zhí)行數(shù)據(jù)庫(kù)的權(quán)限:

pt-show-grants --host='localhost' --user='root' --password='zhang@123' --database='hostsops'

查看每個(gè)用戶權(quán)限生成revoke收回權(quán)限的語(yǔ)句:

pt-show-grants --host='localhost' --user='root' --password='zhang@123' --revoke

 
5.  pt-upgrade
功能介紹:
在多臺(tái)服務(wù)器上執(zhí)行查詢,并比較有什么不同!這在升級(jí)服務(wù)器的時(shí)候非常有用,可以先安裝并導(dǎo)數(shù)據(jù)到新的服務(wù)器上,然后使用這個(gè)工具跑一下sql看看有什么不同,可以找出不同版本之間的差異。
用法介紹:
pt-upgrade [OPTION...] DSN [DSN...] [FILE]
比較文件中每一個(gè)查詢語(yǔ)句在兩個(gè)主機(jī)上執(zhí)行的結(jié)果,并檢查在每個(gè)服務(wù)器上執(zhí)行的結(jié)果、錯(cuò)誤和警告。
使用示例:
只查看某個(gè)sql在兩個(gè)服務(wù)器的運(yùn)行結(jié)果范例:

pt-upgrade h='localhost' h=192.168.3.92 --user=root --password=zhang@123 --query="select * from user_data.collect_data limit 5"

查看文件中的對(duì)應(yīng)sql在兩個(gè)服務(wù)器的運(yùn)行結(jié)果范例:

pt-upgrade h='localhost' h=192.168.3.92 --user=root --password=zhang@123 aaa.sql

查看慢查詢中的對(duì)應(yīng)的查詢SQL在兩個(gè)服務(wù)器的運(yùn)行結(jié)果范例:

pt-upgrade h='localhost' h=192.168.3.92 --user=root --password=zhang@123 slow.log

此外還可以執(zhí)行compare的類型,主要包含三個(gè)query_times,results,warnings,比如下面的例子,只比較sql的執(zhí)行時(shí)間

pt-upgrade h=192.168.3.91 h=192.168.3.92 --user=root --password=zhang@123 --query="select * from user_data.collect_data" --compare query_times

相關(guān)文章

  • Mac下mysql 5.7.13 安裝配置方法圖文教程

    Mac下mysql 5.7.13 安裝配置方法圖文教程

    這篇文章主要介紹了Mac下mysql 5.7.13 安裝配置方法圖文教程,內(nèi)容很詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • MySQL數(shù)據(jù)庫(kù)安全秘籍之守護(hù)數(shù)據(jù)金庫(kù)防火防盜防攻擊

    MySQL數(shù)據(jù)庫(kù)安全秘籍之守護(hù)數(shù)據(jù)金庫(kù)防火防盜防攻擊

    MySQL是許多公司和組織的關(guān)鍵數(shù)據(jù)庫(kù),因此其安全性的重要性如此顯而易見,為了確保MySQL的安全性,需要采取多種措施來增強(qiáng)其安全性,本文給大家介紹MySQL數(shù)據(jù)庫(kù)安全秘籍之守護(hù)數(shù)據(jù)金庫(kù)防火防盜防攻擊,感興趣的朋友一起看看吧
    2023-03-03
  • Mysql數(shù)據(jù)庫(kù)中把varchar類型轉(zhuǎn)化為int類型的方法

    Mysql數(shù)據(jù)庫(kù)中把varchar類型轉(zhuǎn)化為int類型的方法

    這篇文章主要介紹了Mysql數(shù)據(jù)庫(kù)中把varchar類型轉(zhuǎn)化為int類型的方法的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-07-07
  • Prometheus 插件mysql_exporter安裝過程

    Prometheus 插件mysql_exporter安裝過程

    mysql_exporter是用來收集MysQL或者M(jìn)ariadb數(shù)據(jù)庫(kù)相關(guān)指標(biāo)的,mysql_exporter需要連接到數(shù)據(jù)庫(kù)并有相關(guān)權(quán)限,這篇文章主要介紹了Prometheus插件安裝(mysql_exporter),需要的朋友可以參考下
    2023-06-06
  • MySQL的MaxIdleConns不合理,會(huì)變成短連接的原因

    MySQL的MaxIdleConns不合理,會(huì)變成短連接的原因

    這篇文章主要介紹了MySQL的MaxIdleConns不合理,會(huì)變成短連接的原因,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫(kù),感興趣的朋友可以了解下
    2021-01-01
  • MySQL啟動(dòng)報(bào)錯(cuò):Starting MySQL.. ERROR! The server quit without updating PID file的問題分析和解決

    MySQL啟動(dòng)報(bào)錯(cuò):Starting MySQL.. ERROR! The se

    這篇文章給大家介紹了MySQL啟動(dòng)報(bào)錯(cuò):Starting MySQL.. ERROR! The server quit without updating PID file的問題分析和解決辦法,文中給出了詳細(xì)的原因分析,需要的朋友可以參考下
    2023-12-12
  • MySQL初始密碼的查看方式

    MySQL初始密碼的查看方式

    這篇文章主要介紹了MySQL初始密碼的查看方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • mysql日志文件在哪 如何修改MySQL日志文件位置

    mysql日志文件在哪 如何修改MySQL日志文件位置

    MySQL日志文件相信大家都有很多的了解,MySQL日志文件一般在:/var/log/mysqld.log,下面介紹如何修改MySQL日志文件位置,需要的朋友可以參考下
    2012-12-12
  • mysql表物理文件被誤刪的解決方法

    mysql表物理文件被誤刪的解決方法

    最近因?yàn)槭д`不小心誤刪了mysql表的物理文件,這個(gè)時(shí)候該怎么辦呢?然后抓緊從網(wǎng)上找解決的方法,終于解決了,現(xiàn)在將解決的方法及過程分享給大家,有需要的朋友們可以參考借鑒,感興趣的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧。
    2016-11-11
  • mysql8.0.30用戶與權(quán)限管理的實(shí)踐

    mysql8.0.30用戶與權(quán)限管理的實(shí)踐

    MySQL8.0新加了很多功能,其中在用戶管理中增加了角色的管理,本文主要介紹了mysql8.0.30用戶與權(quán)限管理的實(shí)踐,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-04-04

最新評(píng)論

呈贡县| 绥芬河市| 南涧| 盘锦市| 望城县| 文化| 手游| 博湖县| 礼泉县| 咸阳市| 襄汾县| 顺义区| 耿马| 察雅县| 乡城县| 浦北县| 巩义市| 思南县| 孝感市| 宣城市| 广安市| 丽水市| 花莲市| 衡山县| 高碑店市| 武胜县| 大宁县| 田林县| 瓦房店市| 汉阴县| 佛冈县| 集贤县| 加查县| 葫芦岛市| 西畴县| 卢氏县| 巴林右旗| 湛江市| 财经| 怀远县| 来宾市|