构建MySQL自动化平台思路

  • 时间:
  • 浏览:2

要能 一定 一定 一定做好日志的输出,会帮助每个人 快速排障。是是否是排障真的会怀疑人生。

除了遇到坑,还被吐槽页面low啊 ,不好看,没关系。

我司前端妹子,下周开始一块儿做项目,请大伙 一块儿期待下一次的分享。

2、判断data目录是是否是地处。

执行,SSH在执行命令的完后 可能性会造成执行一半,可能性的发送端出现 现象例由于无法继续执行。还容易造成数据包的不完正,MD5校对不一致哦。

主要思想,当MySQL服务故障,执行诊断命令,类似于于top、free、vmstat、iostat、SHOW PROCESSLIST 等常用排障命令。

备份上传:打算传ceph中,提供上传和下载服务。

慢查询整理:慢查询日志输出到elk中,可能性使用pt-query-digest工具进行统一整理。

权限控制:整体系统的权限控制。

等等等等.................

主要技术栈:

其我我随便说说第一个多多多版本的完后 我采用SSH来传输包可能性执行命令,最大的现象。

3、与是是否是剩余空间(共要要剩余10G+)。

当前系统最具有核心竞争力的功能这假使 -----故障整理了。

目前只提供一个多规格。

开始计算软件包、data包的MD5值,是是否是跟svn/git 目录中的是是否是一致。可能性不一致则,执行svn up命令,突然到MD5值,为止。

6系列还要能了低于6.8 ,7系列还要能了低于7.4 。

作者每个人 认为 MySQL官方版本才是王道,

3、高配16C64G。

这样MySQL官方一点版本呢?

创建data目录,创建软连接.....这里和普通手动安装的土方法一样。

替换MySQL配置文件:主要替换端口和server_id (server_id)生成规则 ip最后一位加MySQL Port。

备份任务是基于salt实现的,做到分钟和小时级别还要能 指定,某小时、某分钟,最大的维度是小时级别。类似于于(2:20,备份每天要能 做的哦~)

还支持创建DB、授权,授权只支持:只读和开发增完正查权限。

MySQL主流分支有MySQL官方、Percona、MariaDB版本

MySQL5.5 5.6太老,不考虑接入,尤其在新平台的开发。(低于5.7的请尽快升级)

何如实现自动化

除此以外,在备份模块中提供逻辑备份、物理备份。逻辑备份还要能 支持备份数据/表价值形式。在后续版本中还要能 完善支持备份某个表的数据/表价值形式,之后提供下载表价值形式的功能。

关于MySQL使用状态 类似于于与是是否是冗余索引、当前DB的大小、存储引擎使用状态、主键信息、Innodb锁信息(具体SQL)、与是是否是大事物、内存消耗、临时表信息、是是否是地处完正扫、那个表的IO消耗最高等等等等。(完后 写巡检,大大小小都写了共要一个多多多版本了,辛酸脸)

安全,可能性能获得你存储密码可能性key,这样是要能 还要能 为所欲为了。

高可用模块:打算使用(??和MGR),作者让你 用MHA,无理由....

时延,要能 代码层实现异步,浪费时间和代码,之后不好控制。

遇到的坑

可能性是作者,乙方做多了吧,在巡检和故障整理这里用了一点一点的时间和精力。

MySQL8.0太新,作者头不铁,等等再说吧...

4、MD5值校队。



利用svn/git 做版本控制,svn/git中主要蕴含: MySQL配置文件集合、MySQL DATA目录、MySQL安装包 MySQL tooL工具等等

1、低配 4C8G。

整体流程如下:

每个人 在日常工作中,用Python写了一个多多多DB平台。

下面简单地嗦一嗦目前的主要思路和未来展望吧~

目前主要功能支持:

为了实现自动化,首这样统一的操作版本和MySQL分支版本,

在命令传输和执行上 我使用调用salt api的土方法 salt api 本身就还要能 做到权限的控制,之后salt 支持异步模式,提示了执行时延,也尽量处置了命令执行一半出错。在文件传输上, 我使用svn+MD5校对的土方法 可能性MD5失败 则执行svn up土方法 重新传md5失败包,处置重新传输所有包。

未来展望,还要能 自动执行:当CPU超过?%、少量DML得话产生了阻塞、主从延迟哪十几个 秒、服务假死,还要能 自动执行一次,之后判断是是否是要能 下线该主机。这要能 一点一点的基础功能的完善。

2、中配8C32G。

下一个多多多迭代版本:

操作系统版本:基于redhat或centos系列

本身完后 用:类似于于你通过监控、报警发现你的MySQL响应时延慢,主从延迟、产生了少量锁等等的完后 来手动触发。就好比一个多多多病危的人,完后 进入了医院,本身功能就等于医院的病危检查,方便于的之前 发现蛛丝马迹。

文字简述

1、判断端口是是否是地处。

因高可用到现在没想好到底该为甚玩,一点一点目前还要能了单机版。

安装前要能 进行如下判断。

并发执行一块儿执行如下命令。可能性没执行完机器就挂掉了也是没关系的,可能性在特殊的环境下,你的系统马上要地处宕机、可能性马上要地处OOM。主要保障在操作系统宕机、OOM完后 ,整理有用的证据。

对于开发来说,大伙 更看重的是SQL的执行时延,也假使 慢查询。还有自助上线,原先会大幅减少上线流程。

在本身平台中提供对MySQL巡检支持的。

可能性条件完正满足得话。

还要能 获得当前状态 每秒的QPS、TPS、DML的操作,每秒守护进程创建、运行、销毁,锁的时间、临时表、binlog、 network、 InnoDB buffer 等相关信息。

对于DBA来说,更看重付近的小工具,最好要能点点点把日常的工作给搞定,类似于于部署、上线等一点重复的工作。把更多的时间用于做更有意义的事,类似于于何如优化业务、何如让SQL跑的很快、何如更好地配合业务方。

自动化的前提是要实现标准化,可能性还要能了实现标准化,这样我还是请你先实现标准化吧。(我随便说说也还要能 实现,成本也是巨大的)

一点一点在安装的时,为了统一版本,一点一点确定为MySQL5.7.最新。

这样简单说一下安装部署的思路吧,目前还要能了单机版本。

这里做个小预告,可能性下周可能性下下周。我的好基友顺子要给大伙 讲讲MHA的故事。请期待~~