MySQL数据库中,如何记录SQL执行语句
来源:互联网 发布:php高并发面试题 编辑:程序博客网 时间:2024/05/16 08:51
今天有个同事让我帮忙看一张报表, 这张报表是一个开源的系统产生出来的,后台数据库用的是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了,毕竟很多开源的软件都是用这个数据库作为后台的。
- MySQL数据库中,如何记录SQL执行语句
- MySQL数据库中,如何记录SQL执行语句
- mysql小备忘:如何记录长时间执行的sql语句
- 如何记录MySQL执行过的SQL语句?
- 如何记录MySQL执行过的SQL语句
- 如何记录MySQL执行过的SQL语句?
- 如何记录MySQL执行过的SQL语句?
- 在 MySQL 数据库中使用 C 执行 SQL 语句
- [转] 在 MySQL 数据库中使用 C 执行 SQL语句
- 在MySQL数据库中使用C执行SQL语句
- [转] 在 MySQL 数据库中使用 C 执行 SQL语句
- [转] 在 MySQL 数据库中使用 C 执行 SQL语句
- 在MySQL数据库中使用C执行SQL语句
- 在MySQL数据库中使用C执行SQL语句
- MySQL 数据库中使用 C 执行 SQL语句
- MySQL 数据库中使用 C 执行 SQL语句
- Shell脚本中执行sql语句,操作mysql数据库
- SQL语句在数据库中是如何执行的
- Struts2页面取值:
- HDU1568
- Android自定义View研究(五)--View的大小
- jsp安全问题
- JVM监控工具介绍jstack, jconsole, jinfo, jmap, jdb, jstat
- MySQL数据库中,如何记录SQL执行语句
- swing绘图小例子
- LIBXML2库使用指南
- DP专题4 UVAOJ 108 Maximum Sum
- MySQL常用命令-[备忘]
- 编译器对预编译头的内存分配限制
- Linux下如何查看CPU信息, 包括位数和多核信息
- Android中通过Intent 调用系统的图片、视频、音频、录音、拍照
- openfire 开发插件 调试 常见错误 常用方法