Course Code: zamysql
Duration: 14 hours
Overview:

目标群体:

它是针对那些有使用 windows/linux 作为服务器基础的人的,知道 SQL,

Course Outline:

物理/逻辑架构 MySQL

  • 服务器文件和启动脚本
  • 服务器配置 MySQL
  • 我的.cnf
  • 基本参数
  • 服务器日志文件
  • 查询日志
  • 查询日志慢
  • 错误日志

管理

  • 用户帐户
  • MySQL 中的权限和安全性
  • 备份和还原 – Mysqldump 与 Percona 备份
  • 数据库维护

优化架构

  • InnoDB:具体呈现 – 缺点、优点、与 MyISAM 有什么区别 – 何时使用什么?
  • 如何选择主键(空间键、b树等)?
  • 在 InnoDB 引擎上进行全文搜索(可能仅 <5.6 MyISAM,高于 5.6 MyISAM+InnoDB)

MySQL 查询缓存

  • 为什么,为了什么问题,什么价值,值得它做大?

性能测试,识别性能问题

  • 测试什么 - 取决于我们想要获得的结果
  • 解决性能问题(慢查询、等待、性能工具等)

数据分片(水平和垂直)

  • 差异、成本、局限性

优化架构

索引

  • 超大表中的索引
  • 主密钥(折叠时,在哪些字段上)

数据类型

  • 选择数据类型的技巧,正确使用字段类型(int/float、时间、地理位置)——优点、局限性
  • int 以外的主键是否可接受且同样有效?
  • 每个表都应该有一个主键吗?
  • 交易 - 何时使用,何时不使用 - 优点和缺点。

优化操作系统和硬件利用率

  • my.cnf 中最重要的参数

应用层面的优化

  • 优化工具
  • 用于分析设置和显示工具提示的脚本

数据库复制

  • 复制、集群 - 如何实现高可用性?
  • 复制配置(ROW/PAGE、故障排除、重建、监视/诊断复制过程

MySQL 代理与 HAProxy

  • 工作原理、可靠性(?)、优点、缺点

MySQL 集群

  • 原则
  • 配置
  • 效率
  • 安全

缓存

  • 缓存 MySQL,临时表
  • 是否值得将关系移动到数据库,还是将它们保留在代码中更好?
  • 子查询和联接 - 你应该使用它,如何优化?

解释为查询测试辅助工具

  • 使用索引生成查询
  • 查询分析 - 什么工具,如何有效地做到这一点?
  • 视觉设计工具 - 是否值得使用或更确切地说是简化结构?

最佳实践和命名约定 - 键、列、索引、表

构建最佳表结构

  • 触发器:在程序和触发器中保持逻辑的良好做法 - 如何管理,如何测试,何时使用?
  • 设计模式和反模式

是否值得切换到 MariaDB?

管理工具

  • MySQL 工作台
  • 纳维卡特
  • 海蒂 SQL
Sites Published:

Polska - Zaawansowana administracja MySQL