Mysql 日志表定时归档处理
来源:互联网 发布:淘宝物流信息技术运用 编辑:程序博客网 时间:2024/05/16 10:11
数据库有一张表数据量很大,真正WEB项目只用到一个月内的数据,因此把一个月前的旧数据定期归档。
1 - 创建一个新表,表结构和索引与旧表一模一样
create table table_new like table_old;
2 - 新建存储过程,查询30天的数据并归档进新数据库,然后把30天前的旧数据从旧表里删除
delimiter $
create procedure sp()
begin
insert into tb_new select * from table_old where rectime < NOW() - INTERVAL 30 DAY;
delete from db_smc.table_old where rectime < NOW() - INTERVAL 30 DAY;
end
3 - 创建EVENT,每天晚上凌晨00:00定时执行上面的存储过程
create event if not exists event_temp
on schedule every 1 day
on completion preserve
do call sp();
备注:
第一次执行存储过程的时候因为历史数据过大, 可能发生意外让该次执行没有成功。重新执行时会遇到报错ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction,应急解决方案如下:
1、执行show full processlist;查看所有MySQL线程
2、执行SELECT * FROM information_schema.INNODB_TRX\G; 查看是否有错误线程,线程id在show full processlist;的结果中状态为sleep
3、kill 进程id
- Mysql 日志表定时归档处理
- 归档日志定时删除
- 定时删除归档日志shell
- ORACLE 定时清理归档日志详细过程
- Linux系统Oracle定时删除归档日志
- ORACLE 定时清理归档日志详细过程
- Oracle关于归档日志处理
- MySQL数据的binlog处理方法 日志定时清理
- oralce清除归档日志,并定时制作window定时任务
- 处理归档日志增加过快一例
- oracle归档日志满的处理方法!
- oracle归档日志满的处理
- oracle归档日志增长过快处理方法
- oracle归档日志满了处理方式
- oracle归档日志定时清除?谁做过啊,请教
- alfresco目录定时归档,销毁,还原,归档日志的开发截图
- 归档日志
- 归档日志
- [绍棠] iOS直播-播放基于RTMP协议的视频
- 明白response.sendRedirect()与request.getRequestDispatcher().forward()区别
- Android中的事件处理总结-基于监听的事件处理
- 如何设置input标签为只读(用于设置选择和显示)
- JavaSe零碎知识点
- Mysql 日志表定时归档处理
- 转:Android 你应该知道的学习资源 进阶之路贵在坚持
- 架构设计:系统间通信(3)——IO通信模型和JAVA实践 上篇
- java 中如何执行插入操作后返回自增id
- iOS 9 以后使用3D touch()
- unityIOS截图并在相册中更新
- Android Glide 优化用户体验
- 怎么从excel中读取数据_python
- 项目中遇到的录音、6.0权限、隐式服务转显式的问题