Performance Schema
1. 线程
1.1. MySQL服务端是多线程软件。它的每个组件都使用线程
1.2. 每个线程至少有两个唯一标识符
1.2.1. 操作系统线程ID
1.2.2. MySQL内部线程ID
2. 对象类型
2.1. OBJECT_TYPE列
2.2. EVENT
2.3. FUNCTION
2.4. PROCEDURE
2.5. TABLE
2.6. TRIGGER
3.1. 一个经常受到批评的特性
3.1.1. 早期版本的MySQL对其的实现不够理想,导致资源消耗较高
3.2. 提供了有关MySQL服务器内部运行的操作上的底层指标
3.4. 充分利用sys schema是解决常见问题的捷径。这样做将为你提供一种可以直接从MySQL中测量性能的方法
3.5. 程序插桩(instrument)
3.6. 消费者表(consumer)
3.8. 摘要是一种通过删除查询中的变量来聚合查询的方法
3.9. 实例表(Instance)
3.9.1. 实例是指对象实例,用于MySQL安装程序
3.10. 设置表(Setup)
3.15.1. 使用setup_instruments表
3.15.1.1. 使用UPDATE语句更改instruments表的对应列值
3.15.2. 调用sys schema中的ps_setup_enable_instrument存储过程
3.15.2.1. ps_setup_enable_instrument
3.15.2.2. ps_setup_disable_instrument
3.16. 启用或禁用消费者表
3.16.2. 调用sys schema中的ps_setup_enable_consumer或ps_setup_disable_consuper存储过程
3.17. 事务执行期间会一直持有元数据锁
4. 升级MySQL
4.1. 新版本和稳定性之间的权衡
4.1.1. MySQL社区的长期成员Stewart Smith创造了著名的dot-20规则
4.1.2. 一款软件在dot-20版本发布之前永远不会真正成熟。
4.2. 进行版本升级是一个有风险的过程
4.2.1. 包括备份所有数据、测试更改,然后运行升级过程
4.3. 大版本的升级可能会让人望而却步
4.4. 升级的原因
4.4.1. 安全漏洞
4.4.1.1. 随着时间的推移,这种可能性会越来越小,但人们仍然有可能在MySQL中发现安全漏洞
4.4.2. 已知的bug
4.4.2.1. 在生产环境中遇到未知或无法解释的行为时,我们建议你确定当前运行的MySQL版本,然后阅读后续版本到最新版本的发布说明
4.4.3. 新功能
4.4.3.1. MySQL并不总是遵循严格的主要(major)/次要(minor)/点(point)的版本发布策略来添加功能
4.4.4. MySQL支持周期的终止
4.4.4.1. 建议保持在受支持的版本内,以便至少仍支持安全修复
4.5. 升级步骤
4.5.1. 制订一个计划
4.5.2. 阅读该版本的发行说明,包括任何微小的更改
4.5.3. 阅读官方文档中的升级说明
4.5.4. 对新版本进行测试
4.5.5. 最后执行升级
4.6. 降级
4.6.1. 对于所有主要和次要的版本变更(例如,从8.0降级到5.7或从5.7降级到5.6),降级的唯一方法是恢复升级前的备份
4.6.2. 自从MySQL 8.0以来,不能再降级点发布版本
4.6.3. 如果你运行的是8.0.25版本,除非导出所有数据并重新导入,否则不能再降级到8.0.24
4.7. 工具
4.8. 最好的使用方法是首先使用慢速查询日志或二进制日志收集最关注的查询
4.9. 与直接登录到每台服务器相比,自动化可以使升级过程易于重复,并且效率更高,而且因出现拼写错误或者到错误的服务器上执行升级而导致意外停机的概率也更低
5. Kubernetes
5.1. 在Kubernetes技术流行之前,许多公司要么完全定制技术栈来供应和管理虚拟机和物理服务器,要么只完成了将资源生命周期管理一小部分的开源项目黏合在一起
5.2. MySQL不应该是在组织中Kubernetes上运行工作负载的第一个实验对象
posted @
2023-10-26 06:43
躺柒
阅读(
129)
评论()
编辑
收藏
举报