MySQL作为常用数据库,常常需要进行数据表操作。为了记录这些操作和后续追踪,MySQL提供了“数据表操作日志”的功能。
数据表操作日志是一种重要的用于安全性、可追踪性和修复性的审核工具,可以记录每次对数据表执行的操作,例如SELECT、INSERT、UPDATE和DELETE,以及每条操作的执行时间、用户信息和查询语句等。
/* 启用数据表操作日志功能 */ SET GLOBAL log_output = 'TABLE'; CREATE TABLE `mysql`.`general_log` ( `event_time` timestamp(3) NOT NULL DEFAULT current_timestamp(3) ON UPDATE current_timestamp(3), `user_host` varchar(60) DEFAULT NULL, `thread_id` bigint(21) unsigned DEFAULT NULL, `server_id` int(10) unsigned DEFAULT NULL, `command_type` varchar(64) NOT NULL DEFAULT '', `sql_text` mediumtext NOT NULL, PRIMARY KEY (`event_time`) ) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log' - 其中`event_time`、`user_host`、`command_type`、`sql_text`域表示日志所需记录的信息,其具体含义如下:- `event_time`:日志记录时间;- `user_host`:执行该操作的用户和主机名;- `thread_id`:线程 ID;- `server_id`:MySql服务ID;- `command_type`:执行的SQL命令类型;- `sql_text`:执行的SQL语句。
通过使用数据表操作日志,用户可以随时查看所有的数据表操作记录,从而排查数据库异常问题、查看操作历史记录等。