mysql实现sql记录
来源:互联网 发布:htc windows系统手机 编辑:程序博客网 时间:2024/06/08 18:53
原文链接:http://www.qqdeveloper.com/detail/11/1.html
为什么要记录sql记录
主要目的是为了检测我们的网站安全问题,有效的避免一些sql注入或者是xss攻击。
如何实现
这里主要以windows系统中的my.ini文件为例,Linux系统的配置文件是my.conf,本例中以5.6为例。
方式一
log = "D:/wamp64/logs/mysql.log" // 日子记录文件
log_slow_queries = “D:/wamp64/logs/mysql.log” // 记录日志查询时长的文件
long_query_time = 1 // 查询时长
方式二、
general_log = ON
general_log_file = "D:/wamp64/logs/mysql.log"
方式三、通过命令行实现
首先通过我们的终端登录到mysql中去。输入如下命令即可开启。
set global general_log = on;
set GLOBAL log_output = 'table';
配置注意事项
A 日志存放目录必须提前存在,否则不能记录日志。这里也局势C:/temp目录必须已经存在
B 日志文件是linux格式的文本,建议用ultraEdit打开,转换为dos格式查看(否则没有换行,看不懂的)
C 服务在启动状态下不能删除日志文件,否则就无法记录sql语句了。
D 不能用ultraEdit直接清除文件内容后保存,否则也记录不下来了。需要重启服务,如果ultraEdit保存了.bak,后记录到此文件中。
E 可以用notepad清除文本后保存,可以继续记录日志。
可能错误讲解
1.当我们采用方式一的时候,可能会提示如下类似的错误信息(改错误信息在mysql默认的日志文件中查看)
option 'general_log': boolean value 'ON;' wasn't recognized. Set to OFF.
解决办法采用配置方式二,这样的原因是mysql不同的版本所导致的的。
2.当我们在使用第二个方式配置的时候,可能会提示如下的类似错误信息。
option 'general_log': boolean value 'ON;' wasn't recognized. Set to OFF.
解决办法是讲我们的ON配置值改为1即可,这样的原因是mysql不同的版本所导致的的。
3.同样的才使用方式一配置是,可能会出现如下的类似信息。
unknown variable 'log=D:/wamp64/logs/mysql.log'
解决办法参考参考链接,改原因都属于版本不同
- mysql实现sql记录
- MySQL日志记录(2)SQL执行记录
- mysql记录耗时的sql
- [SQL] [MYSQL] 统计重复记录
- MYSQL删除重复记录SQL
- 记录MySQL执行的SQL
- mysql如何记录sql执行时间
- mysql使用sql语句记录
- mysql常用统计sql记录
- mysql实现每组取前N条记录的sql,以及后续的组数据量限制
- MySQL 实现行转列SQL
- Sql server,Oracle,MySQL随机查询记录
- SQL语句技巧记录(Oracle + MySQL)
- 查看MySQL记录执行过的SQL
- mysql记录运行慢的sql
- 让MYSQL记录所有的SQL语句
- 如何在MySql中记录SQL日志
- Mysql日志记录慢查询的SQL
- Spring中整合mybatis
- nodejs http simple demo
- 使用反射遍历类的属性
- SQL 实现行转列
- 括号匹配
- mysql实现sql记录
- UIVIEW切任意角
- python3使用builtwith 出错的最简单处理方法
- CentOS7下安装MySQL5.7安装与配置(YUM)
- HDU
- java多线程
- 在Tensorflow环境下利用梯度下降法进行线性回归
- 二叉树的应用:利用C语言编写简单的家谱管理系统
- 第二次上架的问题