基于MySQL5.7 优化分析配置

原创
2017/04/26 16:16
阅读数 1.4K

-- =============== 配置 ================
-- 开启慢日志查询(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语句

展开阅读全文
打赏
0
1 收藏
分享
加载中
更多评论
打赏
0 评论
1 收藏
0
分享
返回顶部
顶部