Helllo,我的问题是:使用php,是否可以创建与MySQL数据库的所有交互日志,这些交互通常可以由phpMyadmin访问。是否有特定的查询或示例可供查看?谢谢您抽时间见我。
发布于 2013-11-22 02:08:09
捕获SQL日志的方法很简单。这个日志叫做普通日志。它捕获所有客户端执行的所有sql。
启用一般日志。
mysql> SET GLOBAL general_log = 'ON';原木在哪里?
mysql> SHOW variables like '%general_log%';
+------------------+--------------------+
| Variable_name | Value |
+------------------+--------------------+
| general_log | ON |
| general_log_file | /tmp/your_path.log |
+------------------+--------------------+你想换个地方吗?
mysql> SET GLOBAL general_log_file = 'what you want';关闭日志
mysql> SET GLOBAL general_log = 'OFF';小心,一般的日志会变大,测试完成后,总是关闭日志。
发布于 2013-11-22 09:40:04
若要启用查询日志,请将其放在/etc/my.cnf中的[mysqld]部分中
log = /path/to/query.log请记住,这个日志文件在繁忙的服务器上会变得非常大。
最新情况:
从mysql 5.1.12开始,您应该使用
general_log=1对于mysql 5.1.29,不建议使用log选项。指定日志文件的使用
general_log_file=/path/to/query.log而不是。请参阅http://dev.mysql.com/doc/refman/5.6/en/query-log.html
启用数据库上的查询日志记录(请注意,字符串“表”应按字面顺序放置,而不应被任何表名所取代)
SET global general_log = 1;
SET global log_output = 'table';查看日志
select * from mysql.general_log禁用数据库上的查询日志记录
SET global general_log = 0;参考:http://www.jovicailic.org/2012/07/how-to-enable-general-query-log-in-mysql-under-linux/
https://stackoverflow.com/questions/20135591
复制相似问题