1. 查看慢查询是否开启
– 查看慢查询日志开启否
show variables like 'slow_query_log';
slow_query_log OFF
2. 开启慢查询记录
– 开启慢查询日志记录
set global slow_query_log=on;
1 queries executed, 1 success, 0 errors, 0 warnings
查询:set global slow_query_log=on
共 0 行受到影响
执行耗时 : 0.008 sec
传送时间 : 0 sec
总耗时 : 0.008 sec
3. 查看慢查询日志存哪
– 查看慢查询日志存在哪里
show variables like '%slow_query_log%';
Variable_name Value
slow_query_log ON
slow_query_log_file /var/lib/mysql/niewj-slow.log
4. 多慢才算慢查询
show variables like 'long_query_time';
+-----------------+-----------+
| Variable_name | Value |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+
默认是10秒, 实验时可以改成2s:
set global long_query_time=2;
注意换个session才能查到(需要重新进入)
重新输入用户名密码:
mysql> show variables like 'long_query_time';
+-----------------+----------+
| Variable_name | Value |
+-----------------+----------+
| long_query_time | 2.000000 |
+-----------------+----------+
1 row in set (0.00 sec)
5. 模拟慢查询看会否进入慢查询日志:
select sleep(11);
tail -f /var/lib/mysql/niewj-slow.log
新生成日志:
# Time: 2020-09-10T09:08:18.578301Z
# User@Host: root[root] @ [121.69.51.10] Id: 17
# Query_time: 11.000328 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0
use sakila;
SET timestamp=1599728898;
select sleep(11);
6. 打开全部日志(线上不要!)
set global log_queries_not_using_indexes=on;
7. 用JMeter压测MySQL
1.7.1 下载 mysql-connector-java-bin
https://dev.mysql.com/downloads/connector/j/
到官网下载合适的jar, 我的是mysql-connector-java-5.1.49-bin.jar
放到jmeter/bin下; 如果不行可以试试 jmeter/lib 或 jmeter/lib/ext下 , 重启jmeter再试试!
1.7.2 配置的JMeter内容
注意: JDBC Connection Configuration的 Variable Name for created pool 的名字要和 JDBC Request的 Variable Name of Pool declared in JDBC Connection Configuration
这里一致!
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 hi@niewj.com