我目前正在尝试在 MySQL 上创建一个计划事件,以每周清除二进制日志。
create 事件语句如下:
CREATE EVENT purgebinlogs
ON SCHEDULE EVERY 1 WEEK
STARTS CONCAT(CURRENT_DATE + INTERVAL 7 - WEEKDAY(CURRENT_DATE) DAY,' 01:00:00')
DO
PURGE BINARY LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 7 DAY);
Run Code Online (Sandbox Code Playgroud)
它应该在每个星期一的 01:00 运行。但是,如果我查询 mysql.event 表,我会得到以下输出:
mysql> select * from mysql.event\G
*************************** 1. row ***************************
db: mysql
name: purgebinlogs
body: PURGE BINARY LOGS BEFORE DATE_SUB( NOW( ), INTERVAL 7 DAY)
definer: root@localhost
execute_at: NULL
interval_value: 7
interval_field: WEEK
created: 2015-03-13 17:45:20
modified: 2015-03-13 17:51:43
last_executed: NULL
starts: 2015-03-16 …Run Code Online (Sandbox Code Playgroud) 我目前正在从 SQL Server 迁移到 MySQL。当我尝试匹配行数时,我会查询 information_Schema.tables。我注意到迁移的信息和源信息之间存在一些差异。
但是,我做了一个select count(*) from table;给了我正确的行数
为什么information_Schema.tables.table_rows和之间有区别select count(*) from table?