如何记录MySQL执行过的SQL语句
2024-09-01 03:51:39
很多时候,我们需要知道 MySQL 执行过哪些 SQL 语句,比如 MySQL 被注入后,需要知道造成什么伤害等等。只要有 SQL 语句的记录,就能知道情况并作出对策。服务器是可以开启 MySQL 的 SQL 语句记录功能,从而就能间接地检测到客户端程序的行为。
开启方法很简单:编辑/etc/my.cnf文件,在[mysqld]节下面添加:log=/var/lib/mysql/sql_row.log行(日志的路径自己根据需要定义)。
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
log=/var/lib/mysql/sql_row.log # Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
# symbolic-links=0 [mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
修改完毕后,记得重启 MySQL:
service mysql restart # 或者 /etc/init.d/mysqld stop
/etc/init.d/mysqld start
现在你去 /var/lib/mysql/ 路径下的 sql_row.log 文件应该是能够看到 MySQL 什么时候执行了哪些程序了。
最新文章
- java 7中文件的复制移动
- Xcode7打包,iOS9真机闪退,如何解决?
- javascript基础知识-对象
- 利用Jquery使用HTML5的FormData属性实现对文件的上传
- sql 存储过程中top 后面跟参数的问题
- 禁止生成文件Thumbs.db
- 【面试虐菜】—— Jboss调优
- Android学习笔记之百度地图
- RESTful 服务架构风格 * .NET的RESTful框架 OpenRasta
- git 配置用户名和邮箱
- java数据类型,hibernate数据类型,标准sql数据类型之间的对应表
- [.net 面向对象程序设计深入](24)实战设计模式——策略模式(行为型)
- Always On 集群监听创建失败问题
- Web 应用架构基础课(转载)
- Kubernetes中Pod的健康检查
- BleedTree动画混合树
- 【SDOI2017】树点染色【线段树+LCT】
- ie中自动识别单屏与双屏(js)
- Linux软件包的管理
- 170214、mybatis一级和二级缓存