 |
优化MySQL配置 彼得·扎伊采夫mysql Percona首席执行官sql Percona MySQL的大学社区数据库 |
 |
议程
- MySQL 配置文件优化基础知识
- 配置MySQL的工具
- 介绍部分重要的变量选项
|
 |
关于MySQL 配置文件须要掌握的内容
- 默认配置比较差
- Mysql配置不该该按服务器的规格比例去放大配置选项的值
- 要了解你改变了什么
- 不假思索的Google(绝大时候是百度,你懂的)复制/粘贴可很差
- 避免被改变后的混乱(这里应该理解为:设置不一样的状况,试验了以后得出结果,避免错误产生)
- 设置10个变量有可能提升95%的性能在95%的案例里面
- 提防Mysql“Sample Configs”的配置
- 他们(那些配置)太过期
- 2G内存“很大”是什么时代的事了?
|
 |
大多数配置不该该缩放(对比服务器的规格进行缩放)
- 将服务器的内存扩展8倍,你不能只是简单的将全部的配置变量乘以8
- 16GB的内存扩展到128GB的内存(这是个栗子)
- sort_buffer_size 4MB变成32MB 简直做死(在没有确认知道总体服务器的状况,下文有说为啥)
|
 |
理解范围和单位
- sort_buffer_size=16G
- 错!sort_buffer_size是设置每一个链接的配置
- table_cache_size=64M
|
 |
设置本地变量
- 许多变量是会话级别的
- 为一些复杂查询设置会话变量而不是全局变量:
mysql> set session sort_buffer_size=16*1024*1024;缓存 Query OK,0 rows affected ( 0.00 sec )安全 |
 |
避免基本误区
- 在错的配置文件路径配置变量
- 配在/etc/mysql/my.cnf (错误)而不是/etc/my.cnf
- 提防那些依赖于Linux发行版
- 重复的选项
- 不知道同义词
- table_cache 等价于 table_open_cache
- 配错选项配置区域
- 服务端读取[mysqld],客户端读取[mysql]
|
 |
配置管理实践
- 保持配置文件在不一样的服务器上同步同样
- 保留更改记录
- 版本控制下的配置文件是最好的
- 至少保持你的变化记录
|
 |
不要让Mysql使用Swap分区
- 有一个MySQL数据库,而且分配了太多的内存(这是个前提假设相对下面的)
- 监控swap分区使用(用vmstat密切关注si/so )
- 从安全的缓冲值开始,并逐步增长直到有大量的内存保持free状态
 |
 |
议程
- MySQL配置优化基础知识
- 用工具配置MySQL
- 观察最重要的配置选项点
|
 |
自动化配置调优
- 配置调优工具
- 工具能经过查看状态变量(status variables)给出配置建议
- 咨询工具
- 工具能检查你的配置文件里面典型性错误或者遗漏的地方
- 基本配置建立工具
- 工具能给你配置一个初始化的比默认的配置文件更好的配置文件
|
 |
下一页>>服务器
PPT在这里session
其中有歧义的地方咨询过公司专业翻译 -- 余小雪 妹子,so,转载请标明出处ide