欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > 数据库 >内容正文

数据库

centos7部署两个mysql_一文掌握mysql实用工具--pt-online-schema-change、innotop部署

发布时间:2023/12/20 数据库 56 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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

二、安装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

三、监控工具innotop

# git clone https://github.com/innotop/innotop# cd innotop# perl Makefile.PL# ./innotop -h

测试一下innotop

innotop -h 172.16.1.179 -u root -pxxx

输入:Q 可看当前查询情况


四、限制(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

这里主要分享的是这两个的部署教程,后面会分享具体的一些功能,感兴趣的朋友可以关注一下~

总结

以上是生活随笔为你收集整理的centos7部署两个mysql_一文掌握mysql实用工具--pt-online-schema-change、innotop部署的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。