centos7部署两个mysql_一文掌握mysql实用工具--pt-online-schema-change、innotop部署
概述
因?yàn)镺SC和innotop這兩個(gè)需要的依賴(lài)包比較接近,所以這次就寫(xiě)一起了,下面介紹下完整的部署教程,以下基于centos7操作系統(tǒng)。
官網(wǎng)文檔:http://dev.mysql.com/doc/refman/5.7/en/innodb-create-index-overview.html
- OSC:在線DDL操作不鎖表
- innotop:類(lèi)似服務(wù)器的TOP命令--監(jiān)控mysql
一、依賴(lài)包安裝
配置yum這個(gè)教程就不介紹了,之前介紹N次了..
yum -y install perl-TermReadKey.x86_64 perl-IO-Socket-SSL perl-DBI.x86_64 perl-DBD-MySQL.x86_64 perl-Digest-MD5 perl-ExtUtils-MakeMaker二、安裝percona
# wget -c https://www.percona.com/downloads/percona-toolkit/3.0.13/binary/redhat/7/x86_64/percona-toolkit-3.0.13-1.el7.x86_64.rpm# rpm -ivh percona-toolkit-3.0.13-1.el7.x86_64.rpm三、監(jiān)控工具innotop
# git clone https://github.com/innotop/innotop# cd innotop# perl Makefile.PL# ./innotop -h測(cè)試一下innotop
innotop -h 172.16.1.179 -u root -pxxx輸入:Q 可看當(dāng)前查詢情況
四、限制(OSC)
這里要注意一下osc的一些限制。
1、服務(wù)器空間檢查與評(píng)估
如最大的表50G,索引10G,所以至少需要 “60G臨時(shí)空間” + “binlog空間也算50G”吧 ,也就110G以上。
使用OSC會(huì)使增加一倍的空間,包括索引
而且在 Row Based Replication 下,還會(huì)寫(xiě)一份binlog。不要想當(dāng)然使用–set-vars去設(shè)置 sql_log_bin=0,因?yàn)樵谶@個(gè)session級(jí)別,alter語(yǔ)句也要在從庫(kù)上執(zhí)行,除非你對(duì)從庫(kù)另有打算。
2、原表不能有trigger檢查
3、外鍵檢查,最好不要有外鍵
4、主鍵或唯一索引檢查
絕大部分情況下表上需要有主鍵或唯一索引,因?yàn)楣ぞ咴谶\(yùn)行當(dāng)中為了保證新表也是最新的,需要舊表上創(chuàng)建 DELETE和UPDATE 觸發(fā)器,同步到新表的時(shí)候有主鍵會(huì)更快。個(gè)別情況是,當(dāng)alter操作就是在c1列上建立主鍵時(shí),DELETE觸發(fā)器將基于c1列。
5、mysql服務(wù)器參數(shù)檢查
(1)連接時(shí)間參數(shù):
wait_timeout 值24小時(shí),
innodb_lock_wait_timeout 50秒
(2)在Online DDL過(guò)程中,需要保持這段時(shí)間內(nèi),“增刪改”的最大日志大小。 小了報(bào)錯(cuò),大了產(chǎn)生鎖表時(shí)間長(zhǎng)
innodb_online_alter_log_max_size 134217728這個(gè)參數(shù)是mysql 5.6.6引入的,因?yàn)樵趏nline ddl過(guò)程中需要保持delete、update、insert這些數(shù)據(jù),所以需要一個(gè)日志去保持,這個(gè)參數(shù)就是限制這個(gè)日志的最大大小,當(dāng)ddl過(guò)程中需要的這個(gè)日志的大小比這個(gè)限制還大的時(shí)候就會(huì)報(bào)錯(cuò)。
(3)主從復(fù)制參數(shù)
max_binlog_cache_sziemax_allowed_packet這里主要分享的是這兩個(gè)的部署教程,后面會(huì)分享具體的一些功能,感興趣的朋友可以關(guān)注一下~
總結(jié)
以上是生活随笔為你收集整理的centos7部署两个mysql_一文掌握mysql实用工具--pt-online-schema-change、innotop部署的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Ubuntu操作系统
- 下一篇: arch mysql日志位置_MySQL