mysql 慢日志开启 及explain 分析sql语句
2015-08-31 16:10
561 查看
查看当前数据库是否开启了日志:
mysql > show variables like 'log_%';
mysql 的日志类型有以下几种:
+---------------------------------+-------------------------------------+
| Variable_name | Value |
+---------------------------------+-------------------------------------+
| log_bin | OFF |
| log_bin_trust_function_creators | OFF |
| log_error | D:\phpservice\mysql\Data\1.err |
| log_output | FILE |
| log_queries_not_using_indexes | OFF |
| log_slave_updates | OFF |
| log_slow_queries | OFF |
| log_warnings | 1 |
+---------------------------------+-------------------------------------+
日志文件 记入文件中的信息类型
错误日志 : 记录启动、运行或停止时出现的问题。
查询日志 : 记录建立的客户端连接和执行的语句。
二进制日志: 记录所有更改数据的语句。主要用于复制和即时点恢复。
慢日志 :记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询。
事务日志: 记录InnoDB等支持事务的存储引擎执行事务时产生的日志。
默认情况下,所有日志创建于mysqld数据目录中。通过刷新日志,你可以强制 mysqld来关闭和重新打开日志文件(或者在某些情况下切换到一个新的日志)。当你执行一个FLUSH LOGS语句或执行mysqladmin flush-logs或mysqladmin refresh时,出现日志刷新。如果你正使用MySQL复制功能,从复制服务器将维护更多日志文件,被称为接替日志。
默 认情况下,所有日志创建于mysqld数据目录中。
拓展:http://www.cnblogs.com/wangkongming/p/3684950.html
mysql 慢日志开启
在默认情况下,mysql是不会记录慢查询,需要我们指定启用慢查询日志,才会把执行速度慢的sql语句放入到日志.
启动方式:
{%bin%}/mysqld.exe --safe-mode --slow-query-log
注:在默认情况下mysql认为慢查询的时间10s,为了看效果,我们把这个慢查询时间调整为1s
调整慢查询时间:
① 先查看
① 修改
若有慢sql语句。这会在慢日志中出现以下情况:
explain的用法
基本用法
mysql>explain select语句
mysql > show variables like 'log_%';
mysql 的日志类型有以下几种:
+---------------------------------+-------------------------------------+
| Variable_name | Value |
+---------------------------------+-------------------------------------+
| log_bin | OFF |
| log_bin_trust_function_creators | OFF |
| log_error | D:\phpservice\mysql\Data\1.err |
| log_output | FILE |
| log_queries_not_using_indexes | OFF |
| log_slave_updates | OFF |
| log_slow_queries | OFF |
| log_warnings | 1 |
+---------------------------------+-------------------------------------+
日志文件 记入文件中的信息类型
错误日志 : 记录启动、运行或停止时出现的问题。
查询日志 : 记录建立的客户端连接和执行的语句。
二进制日志: 记录所有更改数据的语句。主要用于复制和即时点恢复。
慢日志 :记录所有执行时间超过long_query_time秒的所有查询或不使用索引的查询。
事务日志: 记录InnoDB等支持事务的存储引擎执行事务时产生的日志。
默认情况下,所有日志创建于mysqld数据目录中。通过刷新日志,你可以强制 mysqld来关闭和重新打开日志文件(或者在某些情况下切换到一个新的日志)。当你执行一个FLUSH LOGS语句或执行mysqladmin flush-logs或mysqladmin refresh时,出现日志刷新。如果你正使用MySQL复制功能,从复制服务器将维护更多日志文件,被称为接替日志。
默 认情况下,所有日志创建于mysqld数据目录中。
拓展:http://www.cnblogs.com/wangkongming/p/3684950.html
mysql 慢日志开启
在默认情况下,mysql是不会记录慢查询,需要我们指定启用慢查询日志,才会把执行速度慢的sql语句放入到日志.
启动方式:
{%bin%}/mysqld.exe --safe-mode --slow-query-log
注:在默认情况下mysql认为慢查询的时间10s,为了看效果,我们把这个慢查询时间调整为1s
调整慢查询时间:
① 先查看
① 修改
若有慢sql语句。这会在慢日志中出现以下情况:
explain的用法
基本用法
mysql>explain select语句
相关文章推荐
- MYSQL---远程连接mysql数据库提示:ERROR 1130的解决办法
- mysql Communications link failure,C3p0的参数详解
- mysql数据备分与步聚
- windows下如何安装和启动MySQL
- mysql 延时注入,利用二进制延迟注入~!
- Mysql com.mysql.jdbc.PacketTooBigException 的解决方案
- com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: Too many connections
- 转载:30多条mysql数据库优化方法,千万级数据库记录查询轻松解决
- mysql创建外键(Foreign Key)方法
- mysql自动备份(windows)
- phalcon mysql 日志 添加
- 解决Cannot find MySQL header files under /usr/include/mysql的错误
- Mysql性能优化
- is marked as crashed and should be repaired mysql 数据库 报的这个错误 怎么解决么
- mysql create database 指定utf-8编码
- ubuntu上安装mySQL数据库,并允许远程连接
- 并发控制 mysql InnoDB表锁
- MySQL出现Errcode:28错误提示解决办法
- Mysql命令行添加用户
- MySQL执行计划解读