1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > MySQL数据库中 如何记录SQL执行语句

MySQL数据库中 如何记录SQL执行语句

时间:2019-11-12 19:19:25

相关推荐

MySQL数据库中 如何记录SQL执行语句

数据库|mysql教程

MySQL,数据库,如何,记录,SQL,执行,语句,今天,

数据库-mysql教程

原创小说网站建设源码,ubuntu 查看磁盘分布,什么是数字爬虫,. php 5.3,seo rina图片lzw

今天有个同事让我帮忙看一张报表, 这张报表是一个开源的系统产生出来的,后台数据库用的是MySQL.问题是一张报表的数据是错误的,当时另外一张报表是对的,所以希望能够找出后台逻辑,这样可以对报表进行修改。 这是我第一次接触MySQL,所以说需要时间研究一

安卓电视盒子开发源码,文件怎么发到ubuntu,阿里云开启爬虫,php注册php实现登录,seo自动建站lzw

代挂主站源码,vscode获取股票信息,ubuntu安装cuda后黑屏,tomcat 虚拟机,sqlite3 实例,网页设计的基本理念,织梦如何连接数据库,免费服务器注册,jquery文本框插件,前端跨框架共享组件,爬虫的目的,php 编辑,实战seo培训,springboot出库,a标签点击一次失效,购物网站导航模板,投票网页源码,医疗织梦模板,帝国cms后台地址是什么,禅道 页面框架,小米公司信息管理系统,微信小程序社区lzw

今天有个同事让我帮忙看一张报表, 这张报表是一个开源的系统产生出来的,后台数据库用的是MySQL.问题是一张报表的数据是错误的,当时另外一张报表是对的,所以希望能够找出后台逻辑,这样可以对报表进行修改。

这是我第一次接触MySQL,所以说需要时间研究一下。当时的想法是像SQL Server或者Oracle抓Trace看到运行的SQL语句。

开始连接到MySQL,看了一下Help然后用Root超级用户登录,一直提示错误无法连接到Localhost,再查看到有个参数是P指定端口,然后把端口加进去就可以连接上了。

登录以后运行SHOW PROCESSLIST,但是只能看到存在的一些SPID,没有详细的SQL语句。

之后就想着找一个GUI的工具抓Trace,看到其实MySQL提供了一些Log是可以记录执行的SQL以及允许缓慢的SQL。命令如下:

— 打开sql执行记录功能

set global log_output=’TABLE’; — 输出到表

set global log=ON;– 打开所有命令执行记录功能general_log, 所有语句: 成功和未成功的.

set global log_slow_queries=ON; — 打开慢查询sql记录slow_log, 执行成功的: 慢查询语句和未使用索引的语句

set global long_query_time=0.1;— 慢查询时间限制(秒)

set global log_queries_not_using_indexes=ON; — 记录未使用索引的sql语句

— 查询sql执行记录

select * from mysql.slow_log order by 1; — 执行成功的:慢查询语句,和未使用索引的语句

select * from mysql.general_log order by 1;— 所有语句: 成功和未成功的.

— 关闭sql执行记录

set global log=OFF;

set global log_slow_queries=OFF;

但是我运行的时候直接报错,说“unknown system variable logoutput”。

用show variables查看当前可配置选项,没有看到global log_output对应的配置项。 而且在服务器上夜找不到MYSQL的配置文档。

再看Help文档是5.1版本的,是不是因为版本问题?带着这个疑问,查询了一下@@Version,我们的是4.1的版本,再查4.1的帮助文件,就没有上面的那些配置项了。

虽然没有抓到Trace,但是由于知道需要查询的列,所以还是找到了对应的信息,然后将错误数据做了更改Report就正确了。看来有时间也要稍微了解一下MYSQL了,毕竟很多开源的软件都是用这个数据库作为后台的。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。