首页
网站案例
服务项目
关于快上网
新闻动态
网站推广
联系
135-1821-9792
首页
网站案例
服务项目
关于快上网
新闻动态
网站推广
联系
MySQL定期自动删除表
单位8亿多条的日志表,经过自动分表之后,需要自动删除30天前创建的日志表。
但是只是在Master下线这些日志表,而Slave还需要保持在线,以备查询。
http://blog.itpub.net/29254281/viewspace-1141985/
由于Master-Slave结构,在Drop表之前,设置@@session.sql_log_bin=0,那么Drop的行为就没有记录到binlog,所以Slave的日志表就会被保留。
模拟环境如下,
MySQL> show tables;
+---------------------------------+
| Tables_in_edmond|
+---------------------------------+
| sod_song_log_2014_1_22_13_18_20|
| sod_song_log_2014_2_22_13_18_20|
| sod_song_log_2014_3_22_13_18_20|
| sod_song_log_2014_4_22_13_18_20|
+---------------------------------+
4 rowsin set (0.00 sec)
过程如下:
delimiter $$
CREATE procedure drop_table()
BEGIN
declare t_namevarchar(64);
declare isFinishedint default false;
declare log_table_list cursorfor (select table_namefrom information_schema.tableswhere table_schema='EDMOND' and table_namelike'sod_song_log_%');
declare continue handlerfor not foundset isFinished=true;
open log_table_list;
repeat
fetch log_table_listinto t_name;
if isFinished= falsethen
ifdatediff(now(),replace(t_name,'sod_song_log_',''))>30then
set @@session.sql_log_bin=0;
set @sqltext=concat('drop table ',t_name,';');
PREPARE c_tab_statfrom @sqltext;
execute c_tab_stat;
set @@session.sql_log_bin=1;
end if;
end if;
until isFinished
end repeat;
close log_table_list;
END $$
delimiter;
执行过程,结果如下
mysql> call drop_table();
Query OK, 0 rows affected(0.28 sec)
mysql> show tables;
+---------------------------------+
| Tables_in_edmond|
+---------------------------------+
| sod_song_log_2014_4_22_13_18_20|
+---------------------------------+
1 rowin set (0.00 sec)
mysql> select now() from dual;
+---------------------+
| now() |
+---------------------+
| 2014-04-22 17:58:24|
+---------------------+
1 rowin set (0.00 sec)
并且binlog中没有记录这个Drop的行为。
配合Linux crontab即可实现定期自动删除表的功能。
一定不要把sql_log_bin设置为global级别,不能犯迷糊
网站标题:MySQL定期自动删除表
文章起源:
http://www.wenjiangwz.cn/article/jgcogj.html
其他资讯
煮好的珍珠可以放几天煮好的珍珠能放几天
ps如何将人物p成卡通,如何将照片人物卡通化
奇偶页码不同怎么设置,怎么设置奇偶页不同页码
怎么用Python加载和处理数据
单链表不是一种随机存储结构吗
Nodejs中如何做定时任务
php采集的数据保存 php如何保存
c语言判素数的函数 c语言编写函数判断素数
Android HelloWord编写方式介绍
香港服务器租用价格表(香港服务器租赁费用)
关于我们
我们是谁
我们服务的客户
我们的团队
我们的服务
网站建设
H5响应式 交互网站
移动端 & 微网站定制
服务流程
行业解决方案
网站建设案例
公司集团
数码电子科技
建筑与设计
安防门禁
管理咨询美容
外贸行业
新闻动态
温江网站建设
温江网站制作
温江网站设计
联系我们
135-1821-9792
公司服务热线
友情链接:
资阳发电机公司
成都网站设计制作公司
昆明发电机租赁
绵阳网站维护
凉山网站制作
成都地铁广告设计
成都创意画册设计
csruijie.cn
成都做网站
成都餐饮管理
Copyright © 2009-2022 www.wenjiangwz.cn 成都网站建设公司 版权所有
蜀ICP备19037934号
在线咨询
在线咨询
135-1821-9792
在线咨询
拨打电话