`
netfork
  • 浏览: 480370 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

MySQL内存表自动备份和还原

    博客分类:
  • DB
阅读更多
MySQL重启后,内存表中的数据将一无所有。
要想即要速度,又要保存住内存表中的数据,必须定时将内存表中的数据备份到一般表中,同时,DB重启后,还需要将备份表中的数据还原到内存表中。

貌似是MySQL 5.1.6之后,MySQL开始支持EVENT处理了,可以设定自己的定时器,将内存表中的数据定期备份到一般表中。

1、备份内存表的几个步骤
1) 打开event_scheduler。
mysql> set global event_scheduler = on;

重启后,event_scheduler还会变成off的,需要在my.cnf中增加一句话,重启后自动为on。
event_scheduler=ON


2) 创建备份定时器。
delimiter |
CREATE EVENT feed_infos_2_feed_infos_bak_event
  ON SCHEDULE EVERY 1 DAY
            STARTS TIMESTAMP '2009-09-23 0:30'
  ON COMPLETION PRESERVE
  COMMENT 'comments'
  DO
    BEGIN
    INSERT INTO feed_infos_bak(
    user_id, 
    user_name,
    created_at
  )
  (
    SELECT
      user_id, 
      user_name,
      created_at
    FROM
      feed_infos
    WHERE
      created_at > (SELECT MAX(created_at) FROM feed_infos_bak)
  );
  
  DELETE FROM feed_infos WHERE DATEDIFF(NOW(), created_at) > 31;
END |
delimiter ;

这样每天凌晨0:30,MySQL会自动将feed_infos内存表的数据导入到其备份表feed_infos_bak中。

2、实现MySQL重启后,内存表数据的自动还原
1) 新建一个init-file文件。
加上下面两句SQL。千万注意:每行一条语句,万不可将一条语句分开多行写。
use xxx_development;
INSERT INTO feed_infos (user_id, user_name, created_at) (SELECT user_id, user_name, created_at FROM feed_infos_bak);


2) 在my.ini(Linux:my.cnf)中加入下面几句话。
[server]
init-file=${path}/init.file

${path}是放置init-file的路径。

重启MySQL,就会发现feed_infos_bak表中的数据成功还原到feed_infos表里了。

参考文献:
http://blog.csdn.net/yueliangdao0608/archive/2008/04/19/2306778.aspx
http://www.sofee.cn/blog/2007/07/18/91/
http://dev.mysql.com/doc/refman/5.1/en/create-event.html
http://www.mysql-china.com/viewthread.php?tid=948&extra=page%3D1


全文完。


---------广告分隔线--------------
分享到:
评论
1 楼 hjb510 2011-03-10  
很不错的东西啊!收下来在说啊!

相关推荐

    freezer:适用于文件系统,MongoDB,MySQL的OpenStack Swift增量备份和还原自动化工具。 LVM快照和加密支持。 在opendev.org上维护的代码镜像

    Freezer是备份还原DR即服务平台,可帮助您自动执行数据备份和还原过程。 提供以下功能: 使用时间点快照备份文件系统 支持强加密:AES-256-CFB 直接备份文件系统树(无卷快照) 使用lvm快照将日记的MongoDB目录...

    数据库管理工具 SQLyog Ultimate 13.1.1.0 + x64 中文多语免费版.zip

    9、易用的数据库、数据表备份与还原功能; 10、支持导入与导出XML、HTML、CSV等多种格式的数据; 11、直接运行批量 SQL 脚本文件,速度极快; 12. 智能SQL语句自动完成功能; SQLyog MySQL 基本功能: 快速备份和...

    [推荐]php集成环境绿色版

    批处理完成自动备份及还原请参照我博客的相关内容 三、本安装包默认安装到D盘根目录,不能安装到其它目录。如果要安装在其它目录,需要手动更改一些文件内容的路径即可,具体请按以下方法操作: 1、鼠标右键,用...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例085 还原论坛中帖子的内容 120 实例086 截取论坛标题 121 实例087 分割、合成字符串 121 实例088 查询关键字描红 122 实例089 统计查询关键字的出现次数 123 实例090 获取上传文件的后缀 124 实例091 统一上传...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例085 还原论坛中帖子的内容 120 实例086 截取论坛标题 121 实例087 分割、合成字符串 121 实例088 查询关键字描红 122 实例089 统计查询关键字的出现次数 123 实例090 获取上传文件的后缀 124 实例091 统一上传...

    Java面试宝典2020修订版V1.0.1.doc

    39、oracle数据库表的备份及还原 54 40、谈谈你知道的数据库和中间件 54 41、oracle和MySQL的区别 54 42、简述Mysql的InnoDb 55 43、删除重复数据只保留一条。 55 44、一个几千万数据,发现数据查询很慢,怎么办? ...

    LNMP/Nginx 虚拟主机面板 AMH v5.0.zip

    05) 备份: 数据无忧保护,支持即时、定时、加密、本地、远程FTP/SSH(密码/密匙)备份面板数据、与及一键还原数据。 06) 任务: 周全的在线任务计划设置管理,定时执行AMH各项命令。 07) 自主: web端使用AMP-PHP框架...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    例如数据表中用户选择字段方式的改变,用户查询的需求也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    日期类型 date 7字节 用于存储表中的日期和时间数据,取值范围是公元前4712年1月1日至公元9999年12月31日,7个字节分别表示世纪、年、月、日、时、分和秒 二进制数据类型 row 1~2000字节 可变长二进制数据,在具体...

    cmd操作命令和linux命令大全收集

    68. ntbackup-------系统备份和还原 69. narrator-------屏幕“讲述人” 70. ntmsmgr.msc----移动存储管理器 71. ntmsoprq.msc---移动存储管理员操作请求 72. netstat -an----(TC)命令检查接口 73. syncapp----...

    entfrm-boot可视化开发平台-其他

    数据维护:mysql数据库备份与还原。2、运维监控定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。令牌管理:用户登录token管理。数据监控: 监视当前系统数据库连接池状态,可进行分析SQL找出系统性能...

    网吧维护技术资料 合集

    23127 网吧维护\资料\WINXP中系统服务的详细说明和可被禁用的服务对照表.TXT 11873 网吧维护\资料\WINXP优化之路 让WINXP和WIN98一样快.TXT 2656 网吧维护\资料\WINXP终极瘦身、优化、封装全攻略.TXT 9518 网吧维护\...

    yershop开源网店系统 v3.8.2.zip

    系统设置:管理首页系统信息、主题设置、站点设置、其它配制、邮箱配制、信息模板、支付方式、区域划分、地区管理、运费模板、快递公司、管理员、角色管理、权限列表、清除缓存、数据库备份、数据库还原 前台功能 ...

Global site tag (gtag.js) - Google Analytics