数据库|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了,毕竟很多开源的软件都是用这个数据库作为后台的。