招聘信息在文字最末尾。

这已经是这个系列的第五期了,从PS到SYS,基本上这两个可以获取整体的MYSQL8的性能信息(目前学到的需要整体在8.022版本才有之前介绍的所有的功能,8.018可以有90%的功能)。所以选择MYSQL 从高可用的角度以及监控的角度来看,版本至少应该在8.022以上。

言归正在,MYSQL Information schema 本身是从MYSQL 5.0开始有的,记得当时在使用的时候尤其5.5, 对于IS 的感觉和现在对于SYS 的感觉是一样的,也是插件,也不敢开,开了就对系统的性能有影响,那也是差不多有10年前的事情了。当时IS 推出是对于MYSQL是十分重要的,获得MYSQL的信息在没有IS 大多是通过show  engine innodb status; 获得。

转换到MYSQL8 整体的IS 对比之前的 MYSQL 5.X 更规整和调理了,IS 本身是一个虚拟的结构,通过具有全局权限的USAGE,process 等的账号来查看其中的信息。

上面的information_schema中的innodb_metrics 可以理解为对于MYSQL 数据库中的所有的信息的记录,举例我们对于dml 操作中的update

下面我们举一个例子

我们针对此时此刻的MYSQL 的UPDATE 操作的个数进行记录,看看一分钟到底进行了多少UPDATE 操作。上图中针对information_schema 中的innodb_metrics 中的update 的数据进行初始化,其中只对count_reset 进行更新,此后的UPDATE 操作就直接在这个 column累加,另外update操作中的重复update是不记录在这里,有效的对产生实际写入磁盘的UPDATE起作用。所以针对某一个时间段统计INSERT ,DELETE ,UPDATE 有了更方便的手段,这里统计的参数 314个,完全覆盖了,如下的方面,包含的数据库操作,数据库底层操作信息,I/O, 数据库操作的性能等等,有点类似SQLserver 中的性能计数器。

| metadata           
| lock               
| server             
| buffer             
| buffer_page_io     
| os                 
| transaction        
| purge              
| undo               
| log                
| compression        
| index              
| adaptive_hash_index
| file_system        
| change_buffer      
| dml                
| sampling           
| ddl                
| icp                
| cpu                
| page_track         
| dblwr

具体每个详细的功能可以打开表后,针对相关的监控项目与系统的帮助文件进行查询。

2  在MYSQL的表设计中,有些表可能会误使用系统关键字,

SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, RESERVED FROM information_schema.COLUMNS INNER JOIN information_schema.KEYWORDS ON KEYWORDS.WORD = COLUMNS.COLUMN_NAME WHERE TABLE_SCHEMA NOT IN ('mysql', 'information_schema', 'performance_schema', 'sys' ) ORDER BY TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME;

上面的语句可以通过查询,搜寻到在用户表中,使用了KEY WORD的表

针对上面的情况可以开发出很多短时的监控方案,来针对一些突发的事情,

MYSQL 基于对于系统性能的考虑,添加了 information_schema_stats_expirty  变量,通过变量可以控制在MYSQL CACHE 中的数据驻留的刷新的时间。默认这个时间是 1天 86400秒。而MYSQL 5.X 中这个刷新的频率相当于0  无时不刻的在刷新中。

在information 中的一些功能有利于我们对MYSQL 整体数据库的使用情况有一些了解例如,一个MYSQL intance中到底有多少表在我们的innodb buffer pool中,我们是可以通过innodb_buffer_page来进行查询的。

举例我们还可以通过information中的表来查看到底有多少行数据多少索引,已经加载在我们的innodb buffer 中,来分析那些索引是HOT 的索引,以及多少行数据已经加载到我们的innodb buffer中。

SELECT table_name,index_name,count(*) as 'index_number',sum(number_records) as 'rows_index'
 FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
       WHERE  page_type = 'index'
group by table_name,index_name;

查找用户表中的复合索引以及索引名字

select table_name,index_name from STATISTICS
WHERE TABLE_SCHEMA NOT IN ('mysql','sys','performance_schema')
group by index_name,seq_in_index,table_name
having seq_in_index >=2;

招聘信息:

DEVOPS  DBA

岗位职责:

1  负责公司数据库运维平台开发,与维护。

2  熟悉主流数据库的简单操作,如MYSQL 或 POSTGRESQL 等

3  参与设计公司级数据库运维平台模块设计和规划

4  协助DBA TEAM 完成自动化工具的编制的部署

职位要求:

1  掌握Python 语言,对于python 有一定的研究 或参与Python 类的devops 工作

2  熟悉LINUX 常用的命令以及python 与数据库之间API 的操作

3  逻辑思维清晰,有责任心,有团队精神,喜欢尝试新技术,热爱学习

4  对于python 的web 框架有相关经验

——————————————————————————————

工作地点:天津(市区)

优势   1   已经有北京DEVOPS 专家,可协同工作,快速成长

2  数据库方面,只要你敢来 ,就敢让你成为 某一种数据库的专家 MYSQL PG  MONGODB 随意

3  平台开放性高,没有限制,和你一同设计规划,提供 MYSQL PG MONGODB 的经验,以及部分代码

简历: 邮件地址  liuhuayang@tcsl.com.cn  微信私聊也可  liuaustin3 微信号

MYSQL 从PS说起,但不止于PS , IS 中innodb buffer 分析(5) -- 附加招聘DEVOPS DBA相关推荐

  1. linux下查看mysql线程_linux-如何查看线程在哪个CPU内核中运行?

    linux-如何查看线程在哪个CPU内核中运行? 在Linux中,假设线程的pid是[pid],则从目录/ proc / [pid]中我们可以获得许多有用的信息. 例如,这些proc文件/ proc ...

  2. [转]MySQL innodb buffer pool

    最近在对公司的 MySQL 服务器做性能优化, 一直对 innodb 的内存使用方式不是很清楚, 乘这机会做点总结. 在配置 MySQL 的时候, 一般都会需要设置 innodb_buffer_poo ...

  3. MySQL · 性能优化· InnoDB buffer pool flush策略漫谈

    MySQL · 性能优化· InnoDB buffer pool flush策略漫谈 背景 我们知道InnoDB使用buffer pool来缓存从磁盘读取到内存的数据页.buffer pool通常由数 ...

  4. mysql 5.5 替换字符_Mysql 5.7替换表中某些字段的字符串

    很多时候在做资源迁移的时候,路径改变,存在数据库的资源文件的路径也会跟着改变,所以需要替换存放路径的字符串,如何快速的替换表中的字段的这些字符串呢? 1. 可以通过MySQL的replace函数 re ...

  5. hive能加快MySQL查询速度吗_建立索引可以加快表中数据查询的速度吗

    首先明白为什么索引会增加速度,DB在执行一条Sql语句的时候,默认的方式是根据搜索条件进行全表扫描,遇到匹配条件的就加入搜索结果集合. 如果我们对某一字段增加索引,查询时就会先去索引列表中一次定位到特 ...

  6. php 类中调用另类,PHP return语句另类用法不止是在函数中,return语句_PHP教程

    PHP return语句另类用法不止是在函数中,return语句 分享下PHP return语句的另一个作用,在bbPress的代码中看到的一个奇葩使用方法. 一直以为,return只能出现在函数中, ...

  7. ps -ef |grep -v 在shell sh 脚本中貌似无效?

    ps -ef |grep -v 在shell sh 脚本中貌似无效? 想通过ps -ef |grep erdp_ |awk '{print $2}' 获取 erdp_ 开头的进程id, 执行在终端环境 ...

  8. MySQL 引擎特性 · InnoDB Buffer Pool

    前言 用户对数据库的最基本要求就是能高效的读取和存储数据,但是读写数据都涉及到与低速的设备交互,为了弥补两者之间的速度差异,所有数据库都有缓存池,用来管理相应的数据页,提高数据库的效率,当然也因为引入 ...

  9. linux ps 详解 博客,Linux PS 命令 详解(转)

    Linux操作系统PS命令详细解析(转) 要对系统中进程进行监测控制,用 ps 命令满足你. /bin/ps ps 是显示瞬间行程的状态,并不动态连续:如果想对进程运行时间监控,应该用 top 工具. ...

最新文章

  1. docker4dotnet #4 使用Azure云存储构建高速 Docker registry
  2. 再见,996!传腾讯光子调整加班机制,21 点前必须离开工位
  3. Nginx 的启动、停止、平滑重启、信号控制和平滑升级
  4. 8个问题全面了解5G关键技术Massive MIMO
  5. mysql 横向扩展 中间件_mysql-proxy数据库中间件架构 | 架构师之路
  6. UIWindowLevel详解
  7. mysql 修改密码
  8. 《计算机网络 自顶向下方法》(第7版)答案(第一章)(一)
  9. Android studio 菜单栏搞不见了
  10. 自然语言处理发展的四大阶段
  11. spark处理大数据实例
  12. 【参考文献】软骨细胞生长培养方法
  13. python 1加到100的三种方法
  14. HTML5酷站欣赏及学习网站收集
  15. metasploit framework的一些使用姿势(持续更新)
  16. 8255控制交通灯实验 c语言 main,交通灯控制实验
  17. 智能电子眼镜可监控健康,可进行脑机接口视觉刺激,控制视频游戏
  18. 屏幕截图工具 php调用,PicPick 全屏幕截图工具
  19. 百万人同时在线直播的服务器,QQ游戏百万人同时在线的服务器架构实现
  20. 《论语》原文及其全文翻译 学而篇12

热门文章

  1. 曾经社交王者人人为何如今失魂落魄
  2. SQL Server数据并发处理
  3. 超宽屏幕比例_选择合适的21:9超宽带鱼屏屏幕(普通屏幕也可)
  4. 2022.10.30 英语背诵
  5. 【​观察】从移动计算当道 看高通“高举高打”背后的势能
  6. java设置pdf不可编辑_Java动态生成pdf文件(使用itext编辑pdf)
  7. 【全局路径规划】A*算法 A* Search Algorithm
  8. 问题解决:shared_ptr Assertion px != 0 failed 及debug经验分享
  9. 销量惨淡,广告费ACOS飙升
  10. 详解Unity中的粒子系统Particle System (二)