MySQL体系结构与参数文件及查询优化器详解(2)

静态参数是指在数据库运行过程中不能修改的参数,必须在配置文件my.cnf中修改并且数据库重启后才能生效 
比如datadir参数,如果使用动态参数修改方式,则会报错:

mysql> set global datadir='/usr/local/mysql/data2';
ERROR 1238 (HY000): Variable 'datadir' is a read only variable

2.2 MySQL 日志文件

MySQL日志文件包含以下几种: 
错误日志(error log) 
二进制日志(binlog) 
慢查询日志(slow log) 
查询日志(general_log)

2.2.1 错误日志

对MySQL的启动,运行和关闭过程进行了记录。遇到问题时首先应该查询此文件以便定位问题。 
可以通过show variables like ‘log_error’ 命令来定位文件位置

MySQL体系结构与参数文件及查询优化器详解

默认情况下错误日志的文件名是该服务器的主机名

2.2.2慢查询日志

可以定位可能存在性能问题的SQL语句,从而进行SQL语句层面的优化。 
通过设置long_query_time参数来设置一个阈值,将运行时间超过该值的所有SQL语句都记录到慢查询日志文件中。

show variables like '%long_query%';
show variables like '%slow_query%';

  

MySQL体系结构与参数文件及查询优化器详解

另一个和慢查询日志相关的参数是log_queries_not_using_indexes参数,如果运行的SQL语句没有使用索引,则会把这条SQL语句记录到慢查询日志中

例如

#一个会话窗口,实时查看日志
tail -f /usr/local/mysql/data/master01-slow.log
#另一个窗口
执行一个做慢查询模拟

MySQL体系结构与参数文件及查询优化器详解

慢查询日志中不光会记录select语句,对数据库修改语句如果符合条件也会记录 
执行sql语句的时间 比 long_query_time 大都会被记录

随着MySQL数据库服务器运行时间的增加,会有越来越多的SQL语句记录到慢查询日志中,此时分析该文件显得不那么简单和直观,这个时候可以使用

mysqldumpslow命令来协助分析慢查询日志 也可以通过pt 工具来分析,推荐用pt的工具。

例如提取执行时间最长的3条SQL 语句

mysqldumpslow -s t -n 3  -a master01-slow.log

MySQL体系结构与参数文件及查询优化器详解

如果慢查询的日志文件查询看着不舒服 想通过sql 方式的来看 
哪可以通过动态修改log_output参数将慢查询输出到mysql库下的表中 
默认是以文件的输出的方式

 

MySQL体系结构与参数文件及查询优化器详解

show variables like 'log_output';
修改为
set  global log_output='table';
查看一下表结构
desc mysql.slow_log;

  

MySQL体系结构与参数文件及查询优化器详解

模拟慢查询 就会输出到mysql.slow_log表中

MySQL体系结构与参数文件及查询优化器详解

 作用 : 分析常用sql  ,看懂sql的具体作用,是否可以优化

2.2.3 查询日志

查询日志记录了所有对MySQL数据库请求的信息。 
通过两个参数来启动:

general_log=on
general_log_file=/usr/local/mysql/data/general_log

开启了这个文件 会记录 mysql 会话请求连接中 会实时记录所操作 的 ddl ,dml 语句 ,会导致这个文件变得,不一会就会变得很大, 影响存储。 
开启这个查询日志一般都是用于排除一些异常才会开启。

2.2.4 二进制日志文件

二进制日志binary log记录了对MySQL数据库执行更改的所有操作,但不包括select和show这类操作。其主要作用为: 
恢复:例如在一个数据库全备文件恢复后,用户可以通过二进制日志进行增量恢复 
复制:通过执行二进制日志使远程的一台MySQL数据库与本数据库进行数据同步 
审计:用户可以通过二进制日志中的信息来进行审计,判断是否有对数据库进行注入攻击 

通过配置参数log-bin[=name]可以启动二进制日志,如果不指定name,则默认二进制日志文件名为主机名,后缀名为二进制日志的序列号

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/b0c2f98b28341b5ab270e2668fc9c4d8.html