本文章来给大家介绍一个比较有用的功能,就是实时记录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
- #Defaulttousingoldpasswordformatforcompatibilitywithmysql3.x
- #clients(thoseusingthemysqlclient10compatibilitypackage).
- old_passwords=1
- log=/var/lib/mysql/sql_row.log
- #Disablingsymbolic-linksisrecommendedtopreventassortedsecurityrisks;--phpfensi.com
- #todoso,uncommentthisline:
- #symbolic-links=0
- [mysqld_safe]
- log-error=/var/log/mysqld.log
- pid-file=/var/run/mysqld/mysqld.pid
修改完毕后,记得重启 MySQL,代码如下:
- servicemysqlrestart
- #或者
- /etc/init.d/mysqldstop
- /etc/init.d/mysqldstart
现在你去 /var/lib/mysql/ 路径下的 sql_row.log 文件应该是能够看到 MySQL 什么时候执行了哪些程序了.