今天有个同事让我帮忙看一张报表, 这张报表是一个开源的系统产生出来的,后台数据库用的是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了,毕竟很多开源的软件都是用这个数据库作为后台的。
分享到:
相关推荐
java操作mysql数据库,不写sql语句版
#适用于实时查询mysql占用CPU高的语句,循环监控mysql进程情况,当CPU大于一定的前执行中的SQL情况. #执行前,修改ENV认证部分 #编写:Chaoren #2022年3月4日18:38:53 # #对于执行时间非常短的SQL可能监控到的语句...
用详尽的 MySQL C 接口介绍了如何在 MySQL 数据库中执行 SQL 语句。讨论返回数据的语句,例如 INSERT 以及不返回数据的语句,例如 UPDATE 和 DELETE。然后,将编写从数据库检索数据的简单程序。
数据库和表的创建和管理;; mysql -u数据库用户名 -p密码 或者 mysql -u数据库用户名 -p 说明:数据库用户名默认是:root 所以一般情况下输入 ...或者 mysql -uroot -p ...MySQL数据库的创建(语句模式);谢谢
java小程序 对MySQL数据库执行SQL语句创建stuinfo表 可以作为小实验
MySQL数据库SQL语句最佳实践案例
Python使用sql语句对mysql数据库多条件模糊查询
通过配置数据库连接信息和要执行的sql语句,可实现定时执行多个sql语句。 所要执行的语句只能是写死的,可支持sqlserver mysql oracle。 配置说明: config/sys.properties 中指定数据库类型及连接信息,执行间隔...
目前支持mysql数据库的连接,sql语句编辑执行,表数据展示查询(支持上下页分页)
本文为本人整理的一些与mysql数据库介绍及常用SQLl语句
万年历数据库,从1970年1月1月开始到2100年12月31日,完整的万年历MySQL数据库的sql建表语句以及插入语句,整理不易,欢迎使用。 创建完数据库自己直接拉入进去就可以,编码格式是utf8的,创建的时候注意一下编码...
全国省市数据库 二级 sql语句全国省市数据库 二级 sql语句全国省市数据库 二级 sql语句全国省市数据库 二级 sql语句全国省市数据库 二级 sql语句
MYsql 数据库0基础SQL语句实战精讲.zip
Oracle数据库sql转换mysql数据库工具,用需要的同学可以下载
此文件是本人亲自开发,测试,编写的,里面的内容绝对的物有所值,文件内容包括MySQL数据库模型图,完整的数据库语句,以及最重要的数据库文档说明,说明中包含数据库所有表结构以及相互之间的关联关系。很适合...
面试高频题目,一条SQL语句为什么执行这么慢? 这其中涉及的知识也是各种各样,今天就让我们来完全剖析这个问题。 一条SQL语句为什么执行这么慢?一、执行偶尔变慢1. 刷脏页,写磁盘2. 还在等锁3. 回滚日志过多二、...
mysql数据库转换成sql server
mysql数据库创建学生表 这个SQL语句会创建一个名为 "Students" 的表,其中包括以下列: • StudentID: 学生的唯一标识,使用 AUTO_INCREMENT 进行自动递增,作为主键。 • FirstName: 学生的名字,限制为最大长度为...
mysql-全国五级省市县镇村sql语句,直接在mysql数据库中执行sql语句即可。
自己写的两个SQL语句生成对应数据库的数据字典,一个生成表集合,一个生成字段集合 只需修改where语句后面的TABLE_SCHEMA的数据库名即可