mysql系统日志表有什么特点

发布时间:2021-01-14编辑:脚本学堂
有关mysql系统日志表的一些特点,mysql日志表的功能,禁用mysql日志功能的方法,刷新日志表或日志文件的方法,需要的朋友参考下。

一、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操作,可以通过以下机制:
 

SET @old_log_state = @@global.general_log;
SET GLOBAL general_log = ¨OFF¨;
ALTER TABLE mysql.general_log ENGINE = MyISAM;
SET GLOBAL general_log = @old_log_state;

日志表也能支持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版本开始,也不再提供这种操作的支持。