990509 7:37:09 492 Connect Paul@localhost on test 492 Query show databases 492 Query show tables 492 Field List tbl_1 492 Field List tbl_2 ... 990509 7:34:22 492 Query CREATE TABLE my_tbl (val INT) 990509 7:34:34 492 Query INSERT INTO my_tbl values (1) 990509 7:34:38 492 Query DROP TABLE my_tbl 990509 7:34:40 492 Quit 一般日志包含日期和时间、服务器进程ID、事件类型和事件信息栏目。
同一个会话出现在更新日志中看上去像这样:
use test; CREATE TABLE my_tbl (val int); INSERT INTO my_tbl VALUES(1); DROP TABLE my_tbl; 对更新日志,用--log-long-format选项获得一个扩展形式的日志,扩展日志提供有关谁何时发出每一条查询,这使用更多的磁盘空间,但如果你想知道谁在做什么,而不用将更新日志对照一般日志的内容找到连接事件。
对上面的会话,扩展更新日志产生这样的信息:
# Time: 990507 7:32:42 # User@Host: paul [paul] @ localhost [] use test; CREATE TABLE my_tbl (val int); # User@Host: paul [paul] @ localhost [] INSERT INTO my_tbl VALUES(1); # Time: 990507 7:32:43 # User@Host: paul [paul] @ localhost [] DROP TABLE my_tbl; 保证你的日志文件安全并且不让任意用户读取是个好主意。一般日志和更新日志都能包含诸如口令等的敏感信息,因为它们包含查询文本。如:
990509 7:23:31 4 Query UPDATE user SET Password=PASSWORD("secret") WHERE user="root" 对于检查和设置数据目录的权限,请见《MySQL安全性指南》。使数据目录安性的指令包含下列命令: