MySQL内存表自动备份和还原

MySQL内存表和临时表的区别 阅读详情

转自:http://netfork.iteye.com/blog/476505

MySQL重启后,内存表中的数据将一无所有。 
要想即要速度,又要保存住内存表中的数据,必须定时将内存表中的数据备份到一般表中,同时,DB重启后,还需要将备份表中的数据还原到内存表中。 

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

1、备份内存表的几个步骤 
1) 打开event_scheduler。 

Sql代码   收藏代码
  1. mysql> set global event_scheduler = on;  

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


2) 创建备份定时器。 
Sql代码   收藏代码
  1. delimiter |  
  2. CREATE EVENT feed_infos_2_feed_infos_bak_event  
  3.   ON SCHEDULE EVERY 1 DAY  
  4.             STARTS TIMESTAMP '2009-09-23 0:30'  
  5.   ON COMPLETION PRESERVE  
  6.   COMMENT 'comments'  
  7.   DO  
  8.     BEGIN  
  9.     INSERT INTO feed_infos_bak(  
  10.     user_id,   
  11.     user_name,  
  12.     created_at  
  13.   )  
  14.   (  
  15.     SELECT  
  16.       user_id,   
  17.       user_name,  
  18.       created_at  
  19.     FROM  
  20.       feed_infos  
  21.     WHERE  
  22.       created_at > (SELECT MAX(created_at) FROM feed_infos_bak)  
  23.   );  
  24.     
  25.   DELETE FROM feed_infos WHERE DATEDIFF(NOW(), created_at) > 31;  
  26. END |  
  27. delimiter ;  

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

2、实现MySQL重启后,内存表数据的自动还原  
1) 新建一个init-file文件。 
加上下面两句SQL。 千万注意:每行一条语句,万不可将一条语句分开多行写。  
Sql代码   收藏代码
  1. use xxx_development;  
  2. 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)中加入下面几句话。 
Sql代码   收藏代码
  1. [server]  
  2. init-file=${path}/init.file  

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

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

参考文献:  
http://blog.youkuaiyun.com/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  


全文完。 

MySQL的备份与还原( windows系统超简单小白练习) 1. 使用 mysqldump 命令:这是常用的备份方法,可以将数据库中的表结构和数据导出为一个.sql 文件。这只是一个简要的介绍,实际应用中还可能涉及到更复杂的备份策略和还原场景,需要根据具体需求进行进一步的研究和配置。2. 物理文件备份:可以直接复制 MySQL 数据目录下的相关文件,但这种方式相对复杂一些,且不太灵活。3. 可回溯性:可以回滚到之前的某个时间点的数据状态,以便处理数据错误或进行数据版本管理。1. 恢复数据:将备份的数据准确地恢复到数据库中,使数据库回到之前的有效状态。 阅读详情

相关推荐

xtrabackup备份还原实战

文章目录一、 xtrabackup安装二 、介绍工作原理三、xtrabackup 备份使用方法1、全备2、增量备份四、备份还原实战1、数据环境准备2、准备备份3、进行恢复 一、 xtrabackup安装 根据实际情况选择相应版本的xtrabackup,mysql是5.7.xx对应的xtrabackup版本为2.4.*,mysql8.0以上的对应的xtrabackup版本为8.x.x #安装依赖包: wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyu

莲藕粉的博客 957

MySQL是如何做到异常重启还能保住数据的完整性

前言 redolog redolog即重做日志,数据库安装目录下的data/ib_logfile指的就是redolog文件。redolog作为一种对数据的恢复操作,恢复的是提交事务修改的页操作。 如当我们执行下面的语句: start transaction; select balance from bank where name="zhangsan"; // 生成 重做日志 balance=600...

IT_10的博客 1044

信号输入到底要不要接GND?单端与差分输入的接地选择与抗干扰分析

在电子工程与工业现场中,接地是信号完整性的基石。电压本身是相对值,任何测量都需要一个公共参考点,这就是地(GND)在信号输入中的核心作用。单端输入依赖信号源与接收端共地,以GND为基准还原信号;差分输入则直接测量两根信号线之间的差值,天然不依赖本地地电位,因此能有效抑制共模干扰和地环路噪声。实际选型时,需要根据传感器类型、传输距离、地电位差大小权衡:短距离共地良好的场景可用单端,长距离或高干扰环境应优先考虑差分或隔离方案。本文从接地原理出发,结合实际接线与故障排查经验,帮助工程师在PLC、采集卡和传感器链路

weixin_28703507的博客 311

MySQL四种备份表的方式

MySQL的备份方式多种多样,不同的备份方式各有优缺点。对于中小型数据库,mysqldump和MySQL Workbench工具较为合适,操作简便,且支持表结构和数据的备份。对于只需要数据导出分析的情况,可以使用语句。而对于大型数据库和实时备份的需求,Binary Log增量备份是一种高效的解决方案。在实际应用中,应根据业务的规模、数据的重要性和恢复时间的需求选择合适的备份方式。同时,定期测试备份的有效性是确保数据安全的关键环节。

2509_93957103的博客 450

保姆级教程:用OpenCV搞定鱼眼双目相机的标定与测距(附完整C++代码)

本文详细介绍了使用OpenCV进行鱼眼双目相机标定与测距的全流程,包括环境搭建、数据采集、单目标定、双目标定、立体校正和视差计算等核心步骤。通过完整的C++代码示例和参数调优指南,帮助开发者快速实现高精度的双目测距系统,适用于机器人导航、VR全景拍摄等领域。

weixin_42573113的博客 389

【Unity3D优化】优化内置shader的内存占用

在打AB包的过程中,并不会把这些Built-in的shader单独打包,并与材质球和预设体做好依赖,因此打AB包时,Unity会自行在材质球和预制体的AB包内每一个都包含进去用到的Built-in的Shader,而且运行时,由于加载的是不同的AB包,shader也是不同的实例,占用的也是多份内存。结合项目特点可以分析,由于项目里使用了大量的粒子特效,一些特殊的效果,会给特效师写定制的shader,但是这些常见的效果,特效师直接使用了Unity Built-in的shader。继续优化内存占用。

a310989583的专栏 2313

mysql - 内存表使用总结

转自:   1、http://my.oschina.net/lanzp/blog/369179 2、 首先,我们来说一下什么是内存表,所谓内存表,是指整个数据库表都常驻在内存中的表,相对于普通表而言,内存表存储数据在内存中,而普通表存储在硬盘中。那么内存表到底有什么特点呢?下面我们来详细地分析一下。 1.MySQL内存表要怎样创建呢?  首

hemeinvyiqiluoben的专栏 1万+

SPSS新手教程—两步聚类之结果解读

在《详解SPSS两步聚类之参数设置》一文中,我们已经了解了两步聚类的优点、分析原理,以及参数设置的技巧。 在本节中,会对IBM SPSS Statistics聚类后的结果进行解读,其中会涉及到最终聚类的结果、聚类的质量、变量重要性、聚类特征的解读。 如图1所示,我们先来回顾下本例数据在参数设置面板中的详细设置。 图1:二阶聚类设置 一、数值结果 根据上述参数设置,得到如下的数值分析结果。 首先看到自动聚类结果,如图2所示为聚类的透视表结果,展示了不同聚类数目下的BIC、BIC变化量、BIC变

nekonekoboom的博客 3万+

解决mysql内存表的数据持久性问题

 文章目的: 本文中作者讲述了一种结合snapshot快照机制和Mysql内存表来同时提供高速访问和逻辑运算的实现方法。 前言: 后台服务中往往要根据不同的需要采用不同的数据获取方案。为了保证系统的高性能,我们一般采取下面2种方案解决1. Cache大多数系统都是采用各种Cache 系统来进行数据缓存的,但目前的Cache系统普遍存在的问题是仅提供了简单的数

galaxy_fxstar的专栏 2441

七、从0开始卷出一个新项目之瑞萨RZN2L 2.2.2 启动模式和flash

七、从0开始卷出一个新项目之瑞萨RZN2L 2.2.2 启动模式和flash。

cl234583745的博客 1466

STM32 AFIO时钟开启时机与复用功能解析

在嵌入式系统开发中,GPIO复用是微控制器外设配置的核心技术之一。通过复用功能,单个物理引脚可以动态切换不同功能模式,如USART通信或普通IO。其实现原理依赖于芯片内部的时钟树架构和寄存器配置机制。AFIO(Alternate Function I/O)模块作为STM32的特色设计,专门处理引脚重映射、外部中断配置等高级功能。正确理解复用功能与AFIO时钟的关系,能显著提升嵌入式开发效率,避免资源浪费。本文以STM32为例,结合引脚重映射和USART配置等典型场景,详解AFIO时钟的实际应用规范与优化实践

weixin_42389113的博客 579

php mysql 内存表_MySQL内存表自动备份和还原

1、备份内存表的几个步骤1) 打开event_scheduler。mysql> set global event_scheduler = on;重启后,event_scheduler还会变成off的,需要在my.cnf中增加一句话,重启后自动为on。event_scheduler=ON2) 创建备份定时器。delimiter |CREATE EVENT feed_infos_2_feed_i...

weixin_34911236的博客 145

音乐生成 - 使用LSTM或Transformer模型进行音乐生成,如MIDI音乐生成。

在本篇博客中,我们将介绍如何使用LSTM和Transformer模型生成MIDI音乐。我们将首先概述音乐生成的一般流程,然后深入了解LSTM和Transformer模型的特点和实现。最后,我们将通过Python代码演示如何使用这两种模型生成MIDI音乐。

斌擎科技 1722

mysql的备份和还原

mysqldump 是一个用于从 MySQL 数据库中导出数据库或表的内容的命令行工具。在每个 CREATE DATABASE 语句之前添加一个 DROP DATABASE 语句。在每个 CREATE TABLE 语句之前添加一个 DROP TABLE 语句。默认启用。在每个表导出之前添加 LOCK TABLES 语句,在导出后添加 UNLOCK TABLES 语句。默认启用。–complete-insert 或 -c:使用完整的 INSERT INTO 语句(包含列名)。

m0_75252684的博客 997

Prompt Engineering 学习指南:从入门到精通的最佳路径与资源

随着大型语言模型(LLM)能力的飞速发展,Prompt Engineering(提示工程)已成为人与AI协作的核心技能。本报告旨在为不同水平的学习者提供一条清晰、高效的学习路径,整合了当前社区公认的最佳实践和顶级开源资源,帮助您系统地掌握 Prompt Engineering,释放 LLM 的全部潜力。保持好奇心,不断尝试,您将能驾驭语言模型这一强大的工具,创造出前所未有的价值。超越简单的“一问一答”,学习如何将 Prompt Engineering 与外部工具和数据结合,构建强大的 AI 应用。

shiter编写程序的艺术 699

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

mysql数据库备份和还原_MySQL数据库(7)_MySQL 数据备份与还原

1、使用mysqldump命令备份mysqldump命令将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。mysqldump命令的工作原理很简单。它先查出需要备份的表的结构,再在文本文件中生成一个CREATE语句。然后,将表中的所有记录转换成一条INSERT语句。然后通过这些语句,就能够创建表并插入数据。1、备份一个数据库mysqldump基本语法:mysqldum...

weixin_30800151的博客 2567

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Linux:MYSQL(十二)-Xtrabackup备份和还原

xtrabackup Percona 官网:www.percona.com percona-server InnoDB --> XtraDB Xtrabackup percona提供的mysql数据库备份工具,惟一开源的能够对innodb和xtradb数据库进行热备的工具 手册:https://www.percona.com/doc/percona-xtrabackup/LATEST...

杜达达的博客 7977

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

mysql的备份和还原_mysql备份和还原

一、数据备份1、使用mysqldump命令备份mysqldump命令将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。mysqldump命令的工作原理很简单。它先查出需要备份的表的结构,再在文本文件中生成一个CREATE语句。然后,将表中的所有记录转换成一条INSERT语句。然后通过这些语句,就能够创建表并插入数据。1、备份一个数据库mysqldump基本语法:my...

weixin_36307549的博客 149

MySQL数据备份与还原

mysqldump命令将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。mysqldump命令的工作原理很简单。它先查出需要备份的表的结构,再在文本文件中生成一个CREATE语句。然后,将表中的所有记录转换成一条INSERT语句。然后通过这些语句,就能够创建表并插入数据。mysqldump基本语法:使用root用户备份test数据库下的person表其生成的脚本如下:文件的开头会记录MySQL的版本、备份的主机名和数据库名。

Lamb的博客 2068

MySQL 数据备份与还原

原文:https://www.cnblogs.com/kissdodog/p/4174421.html 一、数据备份   1、使用mysqldump命令备份   mysqldump命令将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。   mysqldump命令的工作原理很简单。它先查出需要备份的表的结构,再在文本文件中生成一个CREATE语句。然后,将表中...

过客2019 1510

MySQL-数据备份与还原

为了保证数据的安全,需要定期对数据进行备份。备份的方式有很多种,效果也不一样。如果数据库中的数据出现了错误,就需要使用备份好的数据进行数据还原。这样可以将损失降至最低。而且,可能还会涉及到数据库之间的数据导入与导出。文章中涉及到的命令大家一定要像我一样每个都敲几遍,只有在敲的过程中才能发现自己对命令是否真正的掌握了。可以微信搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。

真正的大师永远怀着一颗学徒的心 1627

mysql 备份表和数据_Mysql数据库备份(一)------数据库备份和表备份

一、Mysql中的数据备份:Mysql中数据备份使用的命令是:mysqldump命令将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。mysqldump命令的工作原理很简单。它先查出需要备份的表的结构,再在文本文件中生成一个CREATE语句。然后,将表中的所有记录转换成一条INSERT语句。然后通过这些语句,就能够创建表并插入数据。1、Mysql语句备份一个数据库:...

weixin_35661850的博客 1844

mysql 数据备份 还原_MySQL数据备份与还原

MySQL数据备份与还原基础概念:备份,将当前已有的数据或记录另存一份;还原,将数据恢复到备份时的状态。为什么要进行数据的备份与还原?这似乎是一个不用回答的问题:防止数据丢失;保护数据记录。数据备份与还原的方式有很多种,具体可以分为:数据表备份、单表数据备份、SQL备份和增量备份。数据表备份数据表备份,不需要通过 SQL 来备份,我们可以直接进入到数据库文件夹复制对应的表结构以及数据;在需要还原数...

weixin_32954401的博客 349
上一篇: MySQL内存表的特性与使用介绍
下一篇: MySQL SHOW 命令的使用
UU_Yang
博客等级 码龄23年 926粉丝 213原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值