在日常开发当中,经常会遇到页面打开速度极慢的情况,通过排除,确定了,是数据库的影响,为了迅速查找具体的SQL,可以通过Mysql的日志记录方法。--打开sql执行记录功能setgloballog_output='TABLE';--输出到表setgloballog=ON;--打开所有命令执行记录功能general_log,所有语句:成功和未成功的.setgloballog_slow_queries=ON;--打开慢查询sql记录slow_log,执行成功的:慢查询语句和未使用索引的语句setgloballong_query_time=0.1;--慢查询时间限制(秒)setgloballog_queries_not_using_indexes=ON;--记录未使用索引的sql语句--查询sql执行记录select*frommysql.slow_logorderby1;--执行成功的:慢查询语句,和未使用索引的语句select*frommysql.general_logorderby1;--所有语句:成功和未成功的.--关闭sql执行记录setgloballog=OFF;setgloballog_slow_queries=OFF;--long_query_time参数说明--v4.0,4.1,5.0,v5.1到5.1.20(包括):不支持毫秒级别的慢查询分析(支持精度为1-10秒);--5.1.21及以后版本:支持毫秒级别的慢查询分析,如0.1;--6.0到6.0.3:不支持毫秒级别的慢查询分析(支持精度为1-10秒);--6.0.4及以后:支持毫秒级别的慢查询分析;通过日志中记录的Sql,迅速定位到具体的文件,优化sql看一下,是否速度提升了呢?
网站建设哪家好,找成都创新互联公司!专注于网页设计、网站建设、微信开发、小程序定制开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了吉木乃免费建站欢迎大家使用!
1)怎么查看mysql是否启用了日志
mysqlshow variables like 'log_bin';
2)怎样知道当前的日志
mysql show master status;
3)如何查看当前的二进制日志,可以使用mysqlbinlog的的工具,命令如下:
shellmysqlbinlog mail-bin.000001(要写绝对问题路径 d://)
或者shellmysqlbinlog mail-bin.000001 | tail
4)mysql有以下几种日志:
错误日志:
-log-err
查询日志:
-log
慢查询日志:
-log-slow-queries
更新日志:
-log-update
二进制日志:
-log-bin
在mysql的安装目录下,打开my.ini,在后面加上上面的参数,保存后重启mysql服务就行了。
例如:
#Enter a name for the error
log file. Otherwise a default
name will be used.
log-error=err.log
#Enter a name for the query
log file. Otherwise a default name will be used.
#log=
#Enter a name for the slow
query log file. Otherwise a default name will be used.
#log-slow-queries=
#Enter a name for the update
log file. Otherwise a default name will be used.
#log-update=
#Enter a name for the binary
log. Otherwise a default name will be used.
#log-bin=
上面只开启了错误日志,要开其他的日志就把前面的“#”去掉。
long_query_time =2--
这里设置慢日志的最大实现是指执行超过多久的sql会被log下来,这里是2秒
log-slow-queries=slowqueris.log --将查询返回较慢的语句进行记录,这里设置慢日志的名称
log-queries-not-using-indexes
= nouseindex.log --就是字面意思,log下来没有使用索引的query
5)下面是配置日志的几种方式,不一定全都要配置,请根据自身需求选择性配置
log=mylog.log
--对所有执行语句进行记录
log-error=log-error.log
log=log-query.log
log-queries-not-using-indexes
log-warnings=2
log-slow-queries=log-slow-query.log
log-update=log-update.log
long_query_time=2
mysql有以下几种日志:
错误日志: -log-err
查询日志: -log
慢查询日志: -log-slow-queries
更新日志: -log-update
二进制日志: -log-bin
在mysql的安装目录下,打开my.ini,在后面加上上面的参数,保存后重启mysql服务就行了。
例如:#Enter a name for the binary log. Otherwise a default name will be used.
#log-bin=#Enter a name for the query log file. Otherwise a default name will be used.
#log=#Enter a name for the error log file. Otherwise a default name will be used.
log-error=#Enter a name for the update log file. Otherwise a default name will be used.
#log-update=
上面只开启了错误日志,要开其他的日志就把前面的“#”去掉
查看命令:①show variables like 'log_%';查看所有的log命令
②show variables like 'log_bin';查看具体的log命令
在my-default.ini文件中设置编码:
在服务端[mysqld]添加:character-set-server=utf8
在客户端[client]添加:default-character-set=utf8
注意:配置好了后,记得重启mysql 服务器哈
如何查看当前的二进制日志,可以使用mysqlbinlog的的工具,命令如下:shellmysqlbinlog mail-bin.000001(要写绝对问题路径 d://)或者shellmysqlbinlog mail-bin.000001 | tail
4)mysql有以下几种日志:错误日志: -log-err查询日志: -log慢查询日志: -log-slow-queries更新日志: -log-update二进制日志: -log-bin在mysql的安装目录下,打开my.ini,在后面加上上面的参数,保存后重启mysql服务就行了。例如:#Enter a name for the errorlog file. Otherwise a defaultname will be used.log-error=err.log#Enter a name for the querylog file. Otherwise a default name will be used.#log=#Enter a name for the slowquery log file. Otherwise a default name will be used.#log-slow-queries=#Enter a name for the updatelog file. Otherwise a default name will be used.#log-update=#Enter a name for the binarylog. Otherwise a default name will be used.#log-bin=上面只开启了错误日志,要开其他的日志就把前面的“#”去掉。