一、mysql系统日志表的特点:
通常,日志表主要是用来提供一个供用户查看MySQL服务运行时执行的接口;
日志表能够支持CREATE TABLE / ALTER TABLE / DROP TABLE / TRUNCATE TABLE操作;
默认情况下,日志表使用CSV存储引擎(可以通过show create table slow_log/general_log查看),因此直接复制这个文件到其它位置,或轻松导入其它数据库。
从5.1.12版本开始,mysql数据库日志文件中,日志表也可以修改成myisam引擎。
要禁用mysql日志功能,以便执行ALERT/DROP操作,可以通过以下机制:
日志表也能支持RENAME TABLE语句;
日志表不支持LOCK TABLES,并且也不允许用户在其上进行INSERT / UPDATE / DELETE操作;
FLUSH TABLES WITH READ LOCK以及设置全局系统变量read_only,均对日志表无效,在此期间MySQL仍能向其中写入数据;
日志表的写操作不会记入mysql二进制日志,同样,如果有复制环境的话,日志表的内容也不会被复制到其它slaves节点;
刷新日志表或日志文件,可以使用FLUSH TABLES或FLUSH LOGS,注意在5.1.12到5.1.20版本时,FLUSH TABLES语句忽略日志表,而FLUSH LOGS则会刷新日志表及其文件。
不建议对日志表做分区,何况从5.1.20版本开始,也不再提供这种操作的支持。