centos7部署兩個mysql_一文掌握mysql實用工具--pt-online-schema-change、innotop部署

概述

因為OSC和innotop這兩個需要的依賴包比較接近,所以這次就寫一起了,下面介紹下完整的部署教程,以下基于centos7操作系統。

官網文檔:http://dev.mysql.com/doc/refman/5.7/en/innodb-create-index-overview.html

  • OSC:在線DDL操作不鎖表
  • innotop:類似服務器的TOP命令--監控mysql

一、依賴包安裝

配置yum這個教程就不介紹了,之前介紹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
e19a0ac2a5c500947c60414ed1562fca.png

二、安裝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
00c7da45d69f3d5010116ed2cdad1b52.png

三、監控工具innotop

# git clone https://github.com/innotop/innotop# cd innotop# perl Makefile.PL# ./innotop -h
6bc41b5e0c84e22d9b2afcb67b031bbb.png
25a96b11dcb18937078473bcd96a63aa.png

測試一下innotop

fe1ec6cd58ef3c24b9d0a41b12fce3a7.png
innotop -h 172.16.1.179 -u root -pxxx

輸入:Q 可看當前查詢情況

087210480fa6d869c142249d94776b0d.png

四、限制(OSC)

這里要注意一下osc的一些限制。

1、服務器空間檢查與評估

如最大的表50G,索引10G,所以至少需要 “60G臨時空間” + “binlog空間也算50G”吧 ,也就110G以上。

使用OSC會使增加一倍的空間,包括索引

而且在 Row Based Replication 下,還會寫一份binlog。不要想當然使用–set-vars去設置 sql_log_bin=0,因為在這個session級別,alter語句也要在從庫上執行,除非你對從庫另有打算。

2、原表不能有trigger檢查

3、外鍵檢查,最好不要有外鍵

4、主鍵或唯一索引檢查

絕大部分情況下表上需要有主鍵或唯一索引,因為工具在運行當中為了保證新表也是最新的,需要舊表上創建 DELETE和UPDATE 觸發器,同步到新表的時候有主鍵會更快。個別情況是,當alter操作就是在c1列上建立主鍵時,DELETE觸發器將基于c1列。

5、mysql服務器參數檢查

(1)連接時間參數:

wait_timeout 值24小時,

innodb_lock_wait_timeout 50秒

(2)在Online DDL過程中,需要保持這段時間內,“增刪改”的最大日志大小。 小了報錯,大了產生鎖表時間長

innodb_online_alter_log_max_size 134217728

這個參數是mysql 5.6.6引入的,因為在online ddl過程中需要保持delete、update、insert這些數據,所以需要一個日志去保持,這個參數就是限制這個日志的最大大小,當ddl過程中需要的這個日志的大小比這個限制還大的時候就會報錯。

(3)主從復制參數

max_binlog_cache_sziemax_allowed_packet

這里主要分享的是這兩個的部署教程,后面會分享具體的一些功能,感興趣的朋友可以關注一下~

beeca88d41b2cefaec4f892cf5aa2288.gif

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/457389.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/457389.shtml
英文地址,請注明出處:http://en.pswp.cn/news/457389.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python面試題目

問題一:以下的代碼的輸出將是什么? 說出你的答案并解釋。 1234567891011121314class Parent(object):x 1class Child1(Parent):passclass Child2(Parent):passprint Parent.x, Child1.x, Child2.xChild1.x 2print Parent.x, Child1.x, Child2.xParent.x 3print …

修改頁面后獲得flag_互動征集丨是時候為2021立flag了

2020馬上就要過去了今年的flag各位小伙伴實現了多少?翻出了生灰的flag擦擦說不定2021還能接著用哦2020年就要過去了還記得你在年初立下的那些Flag嗎?減肥“明天我就開始減肥!”是大部分人在大部分時候都掛在嘴邊的一句話疫情宅家不僅沒減成還…

Python3.10 結構化模式匹配 PEP 634

Python3.10 結構化模式匹配 PEP 634 眼看 2021 馬上結束,python 發布了它的 3.10 版本,優化了錯誤消息,上下文管理器等內容,但更吸引我的還是結構化模式匹配。 眾所周之 switch 一直是 python 社區呼聲比較高的一個功能&#xff…

為ESXI 添加ISCSI存儲設備 Linux服務器系統

為ESXI 添加ISCSI存儲設備 Linux系統本文使用的LINUX 6系統上一塊硬盤制作的ISCSI存儲設備其IP地址為:192.168.26.218:在系統上直接輸入:yum -y install scsi-target-utils 命令 安裝 iscsi分區設置我們將SDD這塊硬盤的SDD1作為iscsi存儲設備編輯ISCSI配…

出棧順序 與 卡特蘭數(Catalan)的關系

一,問題描述 給定一個以字符串形式表示的入棧序列,請求出一共有多少種可能的出棧順序?如何輸出所有可能的出棧序列? 比如入棧序列為:1 2 3 ,則出棧序列一共有五種,分別如下:1 2 3、…

[譯] Bounds Check Elimination 邊界檢查消除

[譯] Bounds Check Elimination 邊界檢查消除 Go 是一種內存安全的語言,在針對數組 (array) 或 Slice 做索引和切片操作時,Go 的運行時(runtime)會檢查所涉及的索引是否超出范圍。如果索引超出范圍,將產生一個 Panic&…

cad多段線畫圓弧方向_CAD箭頭怎么畫

CAD箭頭怎么畫問:CAD箭頭怎么畫?答:想要回答CAD箭頭怎么畫這個問題,得先從CAD多段線命令說起,畫箭只是多段線的一種應用。執行CAD多段線命令的三種方式1.單擊菜單欄上的"繪圖">>"多段線"。2…

HDU 5410 CRB and His Birthday ——(完全背包變形)

對于每個物品&#xff0c;如果購買&#xff0c;價值為A[i]*xB[i]的背包問題。 先寫了一發是WA的 。代碼如下&#xff1a; 1 #include <stdio.h>2 #include <algorithm>3 #include <string.h>4 #include <set>5 using namespace std;6 typedef pair<…

一篇講Java指令重排和內存可見性的好文

在這里&#xff1a; http://tech.meituan.com/java-memory-reordering.html 指令重排和內存可見性&#xff08;緩存不一致&#xff09;是兩個不同的問題。 volatile關鍵字太強&#xff0c;即阻擋指令重排&#xff0c;又保證內存一致性。 unsafe.putOrderedXXX()只阻擋指令重排&…

php 獲取delete蠶絲_php結合Redis實現100萬用戶投票項目,并實時查看到投票情況的案例...

場景&#xff1a;某網站需要對其項目做一個投票系統&#xff0c;投票項目上線后一小時之內預計有100萬用戶進行投票&#xff0c;希望用戶投票完就能看到實時的投票情況這個場景可以使用redismysql冷熱數據交換來解決。何為冷熱數據交換&#xff1f;冷數據&#xff1a;之前使用的…

硬件內存模型 Hardware Memory Models

硬件內存模型 Hardware Memory Models (Memory Models, Part 1) Posted on Tuesday, June 29, 2021. 簡介&#xff1a;童話的終結 很久以前&#xff0c;當人們還在寫單線程程序的時候&#xff0c;讓程序跑的更快的一個最有效的辦法就是什么也不做&#xff0c;因為下一代硬件…

碰到日期題就怕的我來寫一道水題吧

HDOJ-2005&#xff0c; http://acm.hdu.edu.cn/showproblem.php?pid2005 20XX系列的水題哈哈&#xff0c;寫了二十分鐘&#xff0c;就為找到一種比較正常不傻逼的寫法。。。 嗯&#xff0c;學習了一下&#xff0c;閏年的判斷可以寫成一個接受參數的宏。 #define lev(n) (n%40&…

判斷是否為gif/png圖片的正確姿勢

判斷是否為gif/png圖片的正確姿勢 1.在能取到圖片后綴的前提下 123456789//假設這是一個網絡獲取的URLNSString *path "http://pic3.nipic.com/20090709/2893198_075124038_2.gif";// 判斷是否為gifNSString *extensionName path.pathExtension;if ([extensionName…

【Go】Map 的空間利用率統計

Go 中 map 利用率 今天刷 B 站看見有 Up 主在講布隆過濾器&#xff0c;提到了利用率的問題&#xff0c;假設有一組數據&#xff0c;范圍分布非常廣&#xff0c;使用布隆過濾器時如何盡量少的減少內存使用&#xff0c;感覺除了針對特定數據的定向優化外沒什么特別好的辦法&…

ap模式和sta模式共存_AP+AC組網下的本地轉發及集中轉發

現在越來越多的企業都有自己的無線網絡&#xff0c;而無線網絡的組網方式一般都是使用ACAP模式進行組網&#xff0c;使用無線網絡能夠提供經濟、高效的網絡接入方式。相比有線網絡&#xff0c;無線網絡下只要能接入無線網的地方都可以使用網絡&#xff0c;用戶可以自由移動。而…

《JS權威指南學習總結--6.7屬性的特性》

內容要點&#xff1a; 一.ES5中查詢和設置屬性的API 1.可以通過這些API給原型對象添加方法&#xff0c;并將它們設置成不可枚舉的&#xff0c;這讓它們看起來更像內置方法。 2.可以通過這些API給對象定義不能修改或刪除的屬性&#xff0c;借此 "鎖定" 這個對象。 3.數…

【干貨分享】流程DEMO-事務呈批表

流程名&#xff1a; 事務呈批表 業務描述&#xff1a; 辦公采購、會議費用等事務的申請。流程發起時&#xff0c;會檢查預算&#xff0c;如果預算不夠&#xff0c;將不允許發起費用申請&#xff0c;如果預算夠用&#xff0c;將發起流程&#xff0c;同時占用相應金額的預算&…

【譯】TcMalloc: Thread-Caching Malloc

TcMalloc 的核心是分層緩存&#xff0c;前端沒有鎖競爭&#xff0c;可以快速分配和釋放較小的內存對象&#xff08;一般是 256 KB&#xff09;前端有兩種實現&#xff0c;分別是 pre-CPU 和 pre-Thread 模式&#xff0c;前者申請一塊大的連續內存&#xff0c;每一個邏輯 CPU 將…

kotlin編譯失敗_Kotlin使用GraalVM開發原生命令行應用

背景之前用kotlin開發過一款根據建表DDL語句生成plantuml ER圖的應用。被問如何使用&#xff0c;答曰"給你一個jar包&#xff0c;然后執行java -jar ddl2plantuml.jar ./ddl.sql ./er.puml 就可以了。是不是so easy?"結果被吐槽了一番&#xff0c;為什么不能像命令行…

Swift - 添加純凈的Alamofire

Swift - 添加純凈的Alamofire 如果你有代碼潔癖,不能容忍任何多余的東西,請繼續往下看. 1. 下載Alamofire (https://github.com/Alamofire/Alamofire) 2. 解壓縮并打開 Alamofire.xcworkspace 3. 刪除不必要的內容 (根據你的需求自己定) 4. 順便把文件夾里面的無關內容也刪除掉…