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.mzph.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吗?减肥“明天我就开始减肥!”是大部分人在大部分时候都挂在嘴边的一句话疫情宅家不仅没减成还…

为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、…

cad多段线画圆弧方向_CAD箭头怎么画

CAD箭头怎么画问:CAD箭头怎么画?答:想要回答CAD箭头怎么画这个问题,得先从CAD多段线命令说起,画箭只是多段线的一种应用。执行CAD多段线命令的三种方式1.单击菜单栏上的"绘图">>"多段线"。2…

php 获取delete蚕丝_php结合Redis实现100万用户投票项目,并实时查看到投票情况的案例...

场景:某网站需要对其项目做一个投票系统,投票项目上线后一小时之内预计有100万用户进行投票,希望用户投票完就能看到实时的投票情况这个场景可以使用redismysql冷热数据交换来解决。何为冷热数据交换?冷数据:之前使用的…

硬件内存模型 Hardware Memory Models

硬件内存模型 Hardware Memory Models (Memory Models, Part 1) Posted on Tuesday, June 29, 2021. 简介:童话的终结 很久以前,当人们还在写单线程程序的时候,让程序跑的更快的一个最有效的办法就是什么也不做,因为下一代硬件…

【Go】Map 的空间利用率统计

Go 中 map 利用率 今天刷 B 站看见有 Up 主在讲布隆过滤器,提到了利用率的问题,假设有一组数据,范围分布非常广,使用布隆过滤器时如何尽量少的减少内存使用,感觉除了针对特定数据的定向优化外没什么特别好的办法&…

ap模式和sta模式共存_AP+AC组网下的本地转发及集中转发

现在越来越多的企业都有自己的无线网络,而无线网络的组网方式一般都是使用ACAP模式进行组网,使用无线网络能够提供经济、高效的网络接入方式。相比有线网络,无线网络下只要能接入无线网的地方都可以使用网络,用户可以自由移动。而…

【干货分享】流程DEMO-事务呈批表

流程名: 事务呈批表 业务描述: 办公采购、会议费用等事务的申请。流程发起时,会检查预算,如果预算不够,将不允许发起费用申请,如果预算够用,将发起流程,同时占用相应金额的预算&…

【译】TcMalloc: Thread-Caching Malloc

TcMalloc 的核心是分层缓存,前端没有锁竞争,可以快速分配和释放较小的内存对象(一般是 256 KB)前端有两种实现,分别是 pre-CPU 和 pre-Thread 模式,前者申请一块大的连续内存,每一个逻辑 CPU 将…

kotlin编译失败_Kotlin使用GraalVM开发原生命令行应用

背景之前用kotlin开发过一款根据建表DDL语句生成plantuml ER图的应用。被问如何使用,答曰"给你一个jar包,然后执行java -jar ddl2plantuml.jar ./ddl.sql ./er.puml 就可以了。是不是so easy?"结果被吐槽了一番,为什么不能像命令行…

Swift - 添加纯净的Alamofire

Swift - 添加纯净的Alamofire 如果你有代码洁癖,不能容忍任何多余的东西,请继续往下看. 1. 下载Alamofire (https://github.com/Alamofire/Alamofire) 2. 解压缩并打开 Alamofire.xcworkspace 3. 删除不必要的内容 (根据你的需求自己定) 4. 顺便把文件夹里面的无关内容也删除掉…

jquery 获取系统默认年份_你没有看错,爬网页数据,C# 也可以像 Jquery 那样

一:背景1. 讲故事前段时间搞了一个地方性民生资讯号,资讯嘛,都是我抄你的,你抄官媒的,小市民都喜欢奇闻异事,所以就存在一个需求,如何去定向抓取奇闻异事的地方号上的新闻,其实做起来…

undertow 怎么创建线程_为什么很多SpringBoot开发者放弃了Tomcat,选择了Undertow

点击上方“后端技术精选”,选择“置顶公众号”技术文章第一时间送达!作者:阿迈达toutiao.com/a6775476659416990212/前言在SpringBoot框架中,我们使用最多的是Tomcat,这是SpringBoot默认的容器技术,而且是内…

一起玩转CoordinatorLayout

作为Material Design风格的重要组件,CoordinatorLayout协调多种组件的联动,实现各种复杂的效果,在实际项目中扮演着越来越重要的角色。本篇博客将由浅到深,带你一起玩转CoordinatorLayout。 官方文档对CoordinatorLayout是这样描述的&#xf…

离散数学图论旅行规划问题_2020年MathorCup高校数学建模挑战赛——C 题 仓内拣货优化问题...

下面的链接是精华版思路,亮点是对第六问的探讨。高度概括一下:第一问曼哈顿,第二问用免疫,三问增加任务单,四问增加拣货员,五问改变复核台,六问亮点来探讨~ 有点皮MathorCup C题 仓内拣货优化问…

【VBA编程】10.自定义集合

自定义集合类型,类似于变量声明,只是要将Dim关键字和New collection关键字搭配起来使用,其语法描述如下:其中集合名的命名方式同于标准变量的命名 Dim 集合名 As New collection 对于已经定义的集合对象,可以使用集合的…

git fork clone 区别_Working with Git | Git 与 GitHub

关于各位好,这里是 Chinas Prices Project 项目的知乎专栏。关于 CPP 项目,您可以在这篇文章里了解到更多的信息。若您对这个项目感兴趣,我们非常欢迎您与我们交流您的想法与见解。在一个团队的成员同时为一个项目进行开发工作时,…

舒适的路线(codevs 1001)

题目描述 DescriptionZ小镇是一个景色宜人的地方&#xff0c;吸引来自各地的观光客来此旅游观光。Z小镇附近共有N(1<N≤500)个景点&#xff08;编号为1,2,3,…,N&#xff09;&#xff0c;这些景点被M&#xff08;0<M≤5000&#xff09;条道路连接着&#xff0c;所有道路都…