如何在MySql中记录SQL日志(例如Sql Server Profiler)
2011-07-30 16:16
405 查看
[align=left]SQL server有一个sql profiler可以实时跟踪服务器执行的SQL语句,这在很多时候调试错误非常有用。例如:别人写的复杂代码、生产系统、无调试环境、无原代码... ...[/align]
[align=left] [/align]
[align=left]查了一下资料,My SQL可以用下面方法跟踪sql 语句,以下方法以Windows平台为例,linux雷同:[/align]
[align=left] [/align]
[align=left]1 配置my.ini文件(在安装目录,linux下文件名为my.cnf[/align]
[align=left] [/align]
[align=left] 查找到[mysqld]区段,增加日志的配置,如下示例:[/align]
[mysqld]
log="C:/temp/mysql.log"
log_slow_queries="C:/temp/mysql_slow.log"
long_query_time=1
[align=left] [/align]
[align=left]log指示日志文件存放目录;[/align]
[align=left]log_slow_queries指示记录执行时间长的sql日志目录;[/align]
[align=left]long_query_time指示多长时间算是执行时间长,单位s。[/align]
[align=left] [/align]
[align=left]Linux下这些配置项应该已经存在,只是被注释掉了,可以去掉注释。但直接添加配置项也OK啦。[/align]
[align=left] [/align]
[align=left]2 重新启动mysql服务。[/align]
[align=left] [/align]
[align=left]注意事项:[/align]
[align=left] A 日志存放目录必须提前存在,否则不能记录日志。这里也局势C:/temp目录必须已经存在[/align]
[align=left] B 日志文件是linux格式的文本,建议用ultraEdit打开,转换为dos格式查看(否则没有换行,看不懂的)[/align]
[align=left] C 服务在启动状态下不能删除日志文件,否则就无法记录sql语句了。[/align]
[align=left] D 不能用ultraEdit直接清除文件内容后保存,否则也记录不下来了。需要重启服务,如果ultraEdit保存了.bak,后记录到此文件中。[/align]
[align=left] E 可以用notepad清除文本后保存,可以继续记录日志。(怪怪的,也不建议用)[/align]
[align=left] [/align]
[align=left]查了一下资料,My SQL可以用下面方法跟踪sql 语句,以下方法以Windows平台为例,linux雷同:[/align]
[align=left] [/align]
[align=left]1 配置my.ini文件(在安装目录,linux下文件名为my.cnf[/align]
[align=left] [/align]
[align=left] 查找到[mysqld]区段,增加日志的配置,如下示例:[/align]
[mysqld]
log="C:/temp/mysql.log"
log_slow_queries="C:/temp/mysql_slow.log"
long_query_time=1
[align=left] [/align]
[align=left]log指示日志文件存放目录;[/align]
[align=left]log_slow_queries指示记录执行时间长的sql日志目录;[/align]
[align=left]long_query_time指示多长时间算是执行时间长,单位s。[/align]
[align=left] [/align]
[align=left]Linux下这些配置项应该已经存在,只是被注释掉了,可以去掉注释。但直接添加配置项也OK啦。[/align]
[align=left] [/align]
[align=left]2 重新启动mysql服务。[/align]
[align=left] [/align]
[align=left]注意事项:[/align]
[align=left] A 日志存放目录必须提前存在,否则不能记录日志。这里也局势C:/temp目录必须已经存在[/align]
[align=left] B 日志文件是linux格式的文本,建议用ultraEdit打开,转换为dos格式查看(否则没有换行,看不懂的)[/align]
[align=left] C 服务在启动状态下不能删除日志文件,否则就无法记录sql语句了。[/align]
[align=left] D 不能用ultraEdit直接清除文件内容后保存,否则也记录不下来了。需要重启服务,如果ultraEdit保存了.bak,后记录到此文件中。[/align]
[align=left] E 可以用notepad清除文本后保存,可以继续记录日志。(怪怪的,也不建议用)[/align]
相关文章推荐
- 如何在MySql中记录SQL日志(例如Sql Server Profiler)
- 如何在MySql中记录SQL日志(例如Sql Server Profiler)
- (转)如何在MySql中记录SQL日志(例如Sql Server Profiler)
- 如何在MySql中记录SQL日志
- 如何在MySql中记录SQL日志
- 如何清除Oracle控制文件中的无用记录,例如v$archived_log中的deleted归档日志记录
- 利用nginx访问日志如何记录mysql中的用户id详解
- 如何有效地记录 Java SQL 日志?
- SQL2005 : 如何在SQL Server Profiler (事件查看器)中 跟踪查看死锁恢复
- 如何记录MySQL执行过的SQL语句
- 如何查看mysql运行、访问记录等日志
- ADO如何记录SQL日志
- MySQL 解密 --> 如何查看二进制日志ROW模式下最原始的SQL语句
- [MySQL优化] -- 如何使用SQL Profiler 性能分析器
- Mysql 如何记录执行慢的语句日志
- 如何查看mysql运行、访问记录等日志
- 如何查看mysql运行、访问记录等日志
- 如何清除Oracle控制文件中的无用记录,例如v$archived_log中的deleted归档日志记录
- mysql 开启慢查询 如何打开mysql的慢查询日志记录
- 如何动态开启mysql的慢查询日志记录