如何对MySQL性能实现调优

  

MySQL性能调优
提高MySQL系统的性能,影响速度
-替换硬件(CPU/磁盘/内存等)
-服务程序的运行参数调整
- - - - - -对SQL查询进行优化

并发及连接控制
——连接数,连接超时
max_connections,,,//允许的最大并发连接数
connect_timeout,,,//等待建立连接的超时秒数,默认10秒,只在登录时有效
wait_timeout,,,,,//等待关闭连接的不活动超时秒数,默认28800秒(8小时)

——产看当前已使用的连接数
mysql>冲洗,地位;
mysql>显示,这个整体,地位,就像,“max_used_connections"

——查看默认的最大连接数
mysql>显示,变量,如,“max_connections"

-缓存参数控制
缓存区,线程数量,开表数量
key_buffer_size,,,,//用于MyISAM引擎的关键索引缓存大小
sort_buffer_size,,,//为每个要排序的线程分配此大小的缓存空间
read_buffer_size,,,//为顺序读取表记录保留的缓存大小
read_rnd_buffer_size,//为按排序结果读取表记录保留的缓存大小
thread_cache_size,,,//允许保存在缓存中被重用的线程数量
table_open_cache,,,//为所有线程缓存的打开的表的数量

key_buffer_size=8 m
当key_reads/key_read_requests较低时可适当加大此缓存值
mysql>显示,全球,地位,就像,“key_read %“
mysql>显示,变量,如,“key_buffer_size"

sort_buffer_size=256 k
增大此值可提高秩序和组织的速度
mysql>显示,变量,如,“sort_buffer_size"

查看表记录读取缓存
- - - - - -此缓存值影响SQL查询的响应速度
mysql>显示,变量一样,“read_ % _size";

查看可重用线程
mysql>显示,变量,如,“thread_ % _size";

查看当前的线程重用状态
mysql>显示,全球,地位,就像,“threads_ %“

查看已打开,打开过多少个表
mysql>显示,全球,地位,就像,“开放% tables";

查看可缓存多少个打开的表
mysql>显示,变量,如,“table_open_cache"

SQL查询优化
MySQL日志类型,常用日志种类及选项:
错误日志,,log_error(=名字),,,//记录启用/运行/停止过程的错误消息
查询日志,,general_log general_log_file=,,//记录客户端连接和查询操作
慢查询日志,slow_query_log, slow_query_log_file=long_query_time=,,//记录耗时较长或不使用索引的查询操作

记录慢查询:
慢速查询日志,,//启用慢查询
slow-query-log-file,,//指定慢查询日志文件
long-query-time,,,//超过指定秒数(默认10秒)的查询才被记录
log-queries-not-using-indexes,,//记录未使用索引的查询

调整服务配置:
vim,
/etc/my . cnf中所做(mysqld)
,
slow_query_log=1
slow_query_log_file=mysql-slow.log
long_query_time=5
log_queries_not_using_indexes=1

systemctl,重启,mysqld

查看慢查询日志,使用mysqldumpslow工具
mysqldumpslow,/var/lib/mysql/mysql-slow.log

查看缓存的大小
mysql>显示,变量,如,“query_cache %“

查看当前的查询缓存统计
mysql>显示,全球,地位,就像,“qcache %“

  

如何对MySQL性能实现调优