1.1 Yearning简介
Yearning开源的MySQL SQL语句审核平台,提供数据库字典查询、查询审计、SQL审核等多种功能。
Yearning 1.x版本需要Inception提供SQL审核及回滚功能
Inception是集审核、执行、回滚于一体的自动化运维系统,它是根据MySQL代码修改过来的,工作模式和MySQL相同。Yearning是基于python实现的Web版人机交互界面。
Yearning 2.0 版本开始无需Inception,已自己实现了SQL审核及回滚功能。
Yearning1.0 python版本已不再进行官方维护,Yearning2.0 golang版本为后续维护项目。建议使用Yearning2.0
1.2 Yearning功能
SQL查询
查询导出
查询自动补全
SQL审核
流程化工单
SQL语句检测
SQL语句执行
SQL回滚
历史审核记录
推送
站内信工单通知
Email工单推送
钉钉webhook机器人工单推送
其他
todoList
LDAP登录
用户权限及管理
拼图式细粒度权限划分
1.3 功能界面
dashboard主要展示Yearning各项数据包括用户数/数据源数/工单数/查询数以及其他图表。个人信息栏内用户可以修改密码/邮箱/真实姓名,同时可以查看该用户权限以及申请权限。
展示用户提交的工单信息。对于执行失败/驳回的工单点击详细信息后可以重新修改sql并提交;对于执行成功的工单可以查看回滚语句并且快速提交SQL。
DDL相关SQL提交审核、查看表结构、索引,SQL语法高亮、自动补全。
DML相关SQL提交审核,SQL语法高亮/自动补全。所有的SQL只有在检测后错误等级为0时提交按钮才会激活
添加/编辑/删除数据源。所有添加的数据源应在添加之前点击测试连接按钮进行连接性测试,保证连接性。
数据源分为查询数据源、非查询数据源。
canal译意为水管、管道,主要用途是基于MySQL数据库增量日志解析,提供增量数据订阅和消费。早期阿里巴巴因为杭州和美国双机房部署,存在跨机房同步的业务需求,实现方式主要是基于业务trigger获取增量变更。从2010 年开始,业务逐步尝试数据库日志解析获取增量变更进行同步,由此衍生出了大量的数据库增量订阅和消费业务。
基于日志增量订阅和消费的业务包括以下内容:
当前的canal支持源端MySQL版本包括5.1.x、5.5.x、5.6.x、5.7.x、8.0.x
2.1 canal工作原理
canal工作原理类似mysql主从同步:
2.2 canal应用场景
该技术在拉勾网址为搜索业务中得到了应用,场景:在企业HR发布、更新或删除职位时,我们需要及时更新职位索引,便于求职者能快速搜索到。
3.1 DataX简介
DataX是阿里巴巴集团内被广泛使用的离线数据同步工具、平台。实现了包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS等各种异构数据源之间高效的数据同步功能。
设计理念:为了解决异构数据源同步问题,DataX将复杂的网状的同步链路变成了星型数据链路,DataX作为中间传输载体负责连接各种数据源。当需要接入一个新的数据源的时候,只需要将此数据源对接到DataX,便能跟已有的数据源做到无缝数据同步。
DataX框架设计:
DataX本身作为离线数据同步框架,采用Framework+plugin架构构建。将数据源读取和写入抽象成为Reader/Writer插件,纳入到整个同步框架中。
DataX插件体系:
DataX Framework提供了简单的接口与插件交互,提供简单的插件接入机制,只需要任意加上一种插件,就能无缝对接其他数据源。经过几年积累,DataX目前已经有了比较全面的插件体系,主流的RDBMS数据库、NOSQL、大数据计算系统都已经接入。DataX目前支持数据如下:
4.1 percona-toolkit简介
MySQL数据库是轻量级、开源数据库的佼佼者,因此有很多功能强大第三方的衍生产品,如percona-toolkit,XtraBackup等。percona-toolkit是一组高级命令行工具的集合,可以查看当前服务的摘要信息,磁盘检测,分析慢查询日志,查找重复索引,实现表同步等等。
percona-toolkit工具是MySQL一个重要分支产品percona的,它是一组命令的集合。
4.2 percona-toolkit 安装
工具包的下载地址:https://www.percona.com/downloads/percona-toolkit/LATEST/
安装过程很简单,下载解压即可。
4.3 常用命令
4.3.1 pt-query-digest
pt-query-digest是用于分析慢查询的工具,它可以分析binlog、General_log、slowlog,也可以通过showprocesslist或者mysqldumpslow命令进行分析。可以把分析结果输出到文件中,分析过程是先对查询语句的条件进行参数化,然后对参数化以后的查询进行分组统计,统计出各查询的执行时间、次数、占比等,可以借助分析结果找出问题进行优化。
使用示例:
pt-query-digest slow_OAK.log > slow_report.log
pt-query-digest --since=24h slow_OAK.log > slow_report.log
pt-query-digest --filter '$event->{fingerprint} =~ m/^select/i'
slow_OAK.log> slow_report.log
4.3.2 pt-index-usage
pt-index-usage命令能够连接到MySQL数据库服务器,读取慢查询日志,并使用EXPLAIN询问MySQL如何执行每个查询。分析完成时,它打印出一个关于查询没有使用的索引的报告。
对于我们已有的生产环境,随着系统运行的时间越长,DML操作越来越慢,这可能和我们最初设计的索引是有关的(变慢的情况很多),项目一旦上线,很少会有人去关注索引的使用情况。某些索引是从create开始就没使用过,这无形中就给MySQL增加了维护负担,任何对该表的DML操作,都要维护这些
没有被使用的索引。我们可以使用pt-index-usage工具找出哪些索引一直没有被使用,然后进行删除。
pt-index-usage语法格式如下:
pt-index-usage [OPTION...] [FILE...]
使用示例:
pt-index-usage /path/to/slow_OAK.log --host localhost
pt-index-usage slow.log --no-report --save-results-database percona
4.3.3 pt-table-checksum
pt-table-checksum命令可以检查主从复制一致性。pt table checksum通过在主机上执行校验和查询来执行在线复制一致性检查。如果发现任何差异,或者出现任何警告或错误,则工具的“退出状态”为非0该命令将连接到本地主机上的复制主机,对每个表进行校验和,并报告每个检测到的复制副本的结果。
使用示例:
./pt-table-checksum --no-check-binlog-format --nocheck-
replication-filters --databases=lagou --replicate=lagou.checksums --
host=192.168.95.130 -uroot -proot
./pt-table-checksum --no-check-binlog-format
--nocheck-replication-filters --databases=lagou --replicate=lagou.checksums
--replicate-check-only --host=192.168.95.130 -uroot -proot
5.1 MySQLMTOP简介
MySQLMTOP 是一个由Python+PHP开发的开源MySQL企业监控系统。该系统由Python实现多进程数据采集和告警,PHP实现Web展示和管理,优点如下:
MySQLMTOP 发展历史如下:
5.2 MySQLMTOP功能
MySQLMTOP主要功能如下:
5.2.1 实时MySQL状态监控和警报
MySQLMTOP 持续监视MySQL的基本状态和性能信息,包括数据库连接状态,启动时间,数据库版本,总连接数,活动进程,QPS,TPS,进出MySQL数据库的流量信息。在数据库状态异常或偏离正常基准水平时发出报警邮件通知。
5.2.2 实时MySQL复制监控
MySQLMTOP自动发现MySQL复制拓扑结构,自动监视数据库的延时和binlog信息,可以了解所有 MySQL主服务器和从服务器的性能、可用性和运行状况。并在问题(如从服务器延迟)导致停机前向管理员提供改正建议。
5.2.3 远程监控云中的 MySQL
适合于云和虚拟机的设计,能远程监视MySQL服务器不需要任何远程代理器。
5.3.4 直观管理所有 MySQL
MySQLMTOP提供一个基于Web的界面,可令全面深入地了解数据库性能、可用性、关键活动等;直观地查看一台服务器、自定义的应用组或所有服务器。一组丰富的实时图形和历史图形将帮助您深入了解详细的服务器统计信息。
5.3.5 可视化MySQL慢查询分析
监视实时查询性能,查看执行统计信息,筛选和定位导致性能下降的 SQL 代码。结合使用Information Schema可直接从MySQL服务器收集数据,无需额外的软件或配置。
5.3.6 性能监控
监视影响 MySQL 性能的主要指标。如Key_buffer_read_hits、Key_buffer_write_hits、Thread_cache_hits、Key_blocks_used_rate、Cre
书山有路勤为径,学海无涯苦作舟
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://www.cnblogs.com/javammc/p/16329328.html
内容来源于网络,如有侵权,请联系作者删除!