常用命令
1.show variables
查看系统变量
show variables
查看的是mysql系统变量,是MySQL系统运行时的参数,如字符集设置、版本信息、默认参数等,除非手动修改,否则运行时一般不会改变;
2.show status
是MySQL服务器运行统计,如打开的表数量、命令计数、qcache计数等。
是系统状态 是动态
操作方式
1.慢查询
通过show variables like '%slow%';
log_show_queries
看是否设置开启慢查询
slow_launch_time
查看设置慢查询的时间
show global status like '%slow%';
查看慢查询的条数
show global variables like 'slow_query_log_file';
查看面查询文件存放位置
2.连接数
show variables like 'max_connections';
查看设置的最大连接数
show global status like 'Max_used_connections';
查看服务器响应的最大连接数
Max_used_connections / max_connections * 100% ≈ 85%
最大连接数占上限连接数的85%左右,如果发现比例在10%以下,MySQL服务器连接数上限设置的过高了。
3.Key_buffer_size 命中率
key_buffer_size是对MyISAM表性能影响最大的一个参数,下面一台以MyISAM为主要存储引擎服务器的配置:
mysql> show variables like 'key_buffer_size';
value分配的内存
show global status like 'key_read%';
两个参数
Key_read_requests
内存共有多少索引读取请求
Key_reads 请求在内存中没有找到直接从硬盘读取索引
计算未命中缓存的概率:
key_cache_miss_rate = Key_reads / Key_read_requests * 100%
key_cache_miss_rate在0.1%以下都很好(每1000个请求有一个直接读硬盘),如果key_cache_miss_rate在 0.01%以下的话,key_buffer_size分配的过多,可以适当减少。
MySQL服务器还提供了key_blocks_*参数:
show global status like ‘key_blocks_u%’;
两个参数
- 1.Key_blocks_unused 表示未使用的缓存簇(blocks)数
- 2.Key_blocks_used 表示曾经用到的最大的blocks数
比较理想的设置:Key_blocks_used / (Key_blocks_unused + Key_blocks_used) * 100% ≈ 80%