Home  >  Article  >  Database  >  如何记录MySQL执行过的SQL语句?_MySQL

如何记录MySQL执行过的SQL语句?_MySQL

WBOY
WBOYOriginal
2016-06-01 13:10:53822browse

很多时候,我们需要知道 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 什么时候执行了哪些程序了。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn