-- =============== 配置 ================
-- 开启慢日志查询(my.ini/my.cf v5.7)
[mysqld]
slow_query_log = ON
#目录必须存在,否则启动后查看的slow_query_log状态为OFF
slow_query_log_file= $MYSQL_HOME/logs/mysql-slow.log
long_query_time= 2
#谨慎开启使用
log_queries_not_using_indexes = OFF
-- 开启错误日志
log_error = $MYSQL_HOME/logs/mysql-log.err
-- 查看bin-log是否开启
SHOW VARIABLES LIKE '%log_bin%';
-- 开启bin-log
[mysqld]
#server_id不能重复
server_id = 1
#log_bin[=base_name]
log_bin = $MYSQL_HOME/mysql-bin
-- =============== 设置 ================
-- 显示bin-log日志过期时间
SHOW VARIABLES LIKE 'expire_logs_days';
-- 设置bin-log过期自动删除时间,默认为0
SET GLOBAL expire_logs_days = 7;
-- 查看bin-log
$MYSQL_HOME/bin/mysqlbinlog bin-log-file
-- 查看binlog_format, ROW(默认), STATEMENT, MIXED
SHOW VARIABLES LIKE 'binlog_format';
-- 设置全局的binlog_format
SET GLOBAL binlog_format = 'STATEMENT';
-- 设置会话级别的binlog_format
SET SESSION binlog_format = 'STATEMENT';
Linux下分析慢查询日志
pt-query-digest是一个perl脚本,只需下载并赋权即可执行。
批量操作优化配置
执行批量操作,请在useServerPrepStmts和rewriteBatchedStatements参数
jdbc:mysql://127.0.0.1:3306/mysql?useServerPrepStmts=false&rewriteBatchedStatements=true&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf8
explain分析SQL语句