启用日志记录
我启用了日志using
SET GLOBAL log_output = 'TABLE';
SET GLOBAL general_log = 'ON';所有执行的查询都登录到mysql.general_log表。它是好的。
试图清除表
然后表变大了,我想从表中删除所有的记录。我执行了:
DELETE FROM general_log但是,这导致了一个错误,即我不能锁定日志表。因此,在禁用日志记录之后,我删除了表:
SET GLOBAL general_log = 'OFF';
DROP TABLE general_log;我希望再次启用日志记录将创建该表,但我无法启用它。当我执行此操作时:
SET GLOBAL general_log = 'ON';它给出了这个错误:
表'mysql.general_log‘不存在
问题
mysql.general_log?mysql.general_log?发布于 2012-09-03 11:38:45
重新创造:
USE mysql;
CREATE TABLE IF NOT EXISTS `general_log` (
`event_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`user_host` mediumtext NOT NULL,
`thread_id` int(11) NOT NULL,
`server_id` int(10) unsigned NOT NULL,
`command_type` varchar(64) NOT NULL,
`argument` mediumtext NOT NULL
) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log';清晰的桌子:
TRUNCATE table mysql.general_log;发布于 2012-09-03 11:39:54
1.:
USE mysql;
CREATE TABLE `general_log` (
`event_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`user_host` MEDIUMTEXT NOT NULL,
`thread_id` INT(11) NOT NULL,
`server_id` INT(10) UNSIGNED NOT NULL,
`command_type` VARCHAR(64) NOT NULL,
`argument` MEDIUMTEXT NOT NULL
)
COMMENT='General log'
COLLATE='utf8_general_ci'
ENGINE=CSV;2.:
TRUNCATE mysql.general_log;发布于 2017-06-26 11:34:58
MySQL 5.7.18
我也放弃了mysql.general_log表,但其他的答案并没有帮助我。
然后,我注意到关于表结构的错误,因为它在MySQL 5.7.18上有点不同,所以我已经更改了一些字段,现在它可以工作了。
万一有人需要它:
CREATE TABLE `general_log` (
`event_time` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
`user_host` mediumtext NOT NULL,
`thread_id` bigint(21) unsigned NOT NULL,
`server_id` int(10) unsigned NOT NULL,
`command_type` varchar(64) NOT NULL,
`argument` mediumblob
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='General log'https://stackoverflow.com/questions/12247063
复制相似问题