MySQL 数据库恢复

数据库恢复是指以备份为基础,与备份相对应的系统维护和管理操作。

系统进行恢复操作时,先执行一些系统安全性的检查,包括检查所要恢复的数据库是否存在、数据库是否变化及数据库文件是否兼容等,然后根据所采用的数据库备份类型采取相应的恢复措施。

数据库恢复机制设计的两个关键问题是:第一,如何建立冗余数据;第二,如何利用这些冗余数据实施数据库恢复。

建立冗余数据最常用的技术是数据转储和登录日志文件。通常在一个数据库系统中,这两种方法是一起使用的。

数据转储是 DBA 定期地将整个数据库复制到磁带或另一个磁盘上保存起来的过程。这些备用的版本成为后备副本或后援副本。

可使用 LOAD DATA…INFILE 语句来恢复先前备份的数据。

将之前导出的数据备份文件 file.txt 导入数据库 test_db 的表 tb_students_copy 中,其中 tb_students_copy 的表结构和 tb_students_info 相同。

首先创建表 tb_students_copy,输入的 SQL 语句和执行结果如下所示。

mysql> CREATE TABLE tb_students_copy-> LIKE tb_students_info;
Query OK, 0 rows affected (0.52 sec)
mysql> SELECT * FROM tb_students_copy;
Empty set (0.00 sec)

导入数据与查询表 tb_students_copy 的过程如下所示。

mysql> LOAD DATA INFILE 'C:/ProgramData/MySQL/MySQL Server 5.7/
Uploads/file.txt'-> INTO TABLE test_db.tb_students_copy-> FIELDS TERMINATED BY ','-> OPTIONALLY ENCLOSED BY '"'-> LINES TERMINATED BY '?';
Query OK, 10 rows affected (0.14 sec)
Records: 10  Deleted: 0  Skipped: 0  Warnings: 0
mysql> SELECT * FROM test_db.tb_students_copy;
+----+--------+---------+------+------+--------+------------+
| id | name   | dept_id | age  | sex  | height | login_date |
+----+--------+---------+------+------+--------+------------+
|  1 | Dany   |       1 |   25 | F    |    160 | 2015-09-10 |
|  2 | Green  |       3 |   23 | F    |    158 | 2016-10-22 |
|  3 | Henry  |       2 |   23 | M    |    185 | 2015-05-31 |
|  4 | Jane   |       1 |   22 | F    |    162 | 2016-12-20 |
|  5 | Jim    |       1 |   24 | M    |    175 | 2016-01-15 |
|  6 | John   |       2 |   21 | M    |    172 | 2015-11-11 |
|  7 | Lily   |       6 |   22 | F    |    165 | 2016-02-26 |
|  8 | Susan  |       4 |   23 | F    |    170 | 2015-10-01 |
|  9 | Thomas |       3 |   22 | M    |    178 | 2016-06-07 |
| 10 | Tom    |       4 |   23 | M    |    165 | 2016-08-05 |
+----+--------+---------+------+------+--------+------------+
10 rows in set (0.00 sec)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/564252.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java位逻辑运算符_详述:Java逻辑运算符与位运算

Java中逻辑运算符总共有分为三种“ ”,“ll”,“!”运算符、此为逻辑运算符,只有当给定的两个条件都为真时,返回结果为true,否则都为false!、此为逻辑非运算符,用来反转操作的true或者false&…

C++ 三种继承方式

C继承的一般语法为: class 派生类名:[继承方式] 基类名{派生类新增加的成员 };继承方式限定了基类成员在派生类中的访问权限,包括 public(公有的)、private(私有的)和 protected&am…

mapdb java_MapDB使用入门

背景MapDB官网:http://www.mapdb.org官方翻译之后的话:MapDB基于堆外存储、磁盘存储提供了Java的Maps、Sets、Lists、Queues等功能。它混合了Java集合框架和数据库引擎。它是基于Apache许可的免费的、开源的。个人觉得:MapDB是一个轻量级的本…

C++继承时名字的遮蔽

如果派生类中的成员(包括成员变量和成员函数)和基类中的成员重名,那么就会遮蔽从基类继承过来的成员。所谓遮蔽,就是在派生类中使用该成员(包括在定义派生类时使用,也包括通过派生类对象访问该成员&#xf…

java项目 异常如何解决_Java项目中常见的异常处理

发生异常的情况有很多,其中包括以下几大类:1. 空指针异常;2. 用户输入异常;3. 多层异常捕获;想要知道Java是如何处理异常的,就需要掌握以下这三种异常的处理:1.检查性异常:最具代表的…

C++ 基类和派生类的构造函数

在设计派生类时,对继承过来的成员变量的初始化工作也要由派生类的构造函数完成,但是大部分基类都有 private 属性的成员变量,它们在派生类中无法访问,更不能使用派生类的构造函数来初始化。 解决办法:在派生类的构造函…

java i/o 流详解_java I/O流详解

概况I/O流主要分为二大类别:字符流和字节流。字节流(基本流)1、字节输入流 类名:FileInputStream 特点:读(对文件进行读取操作) 父类:InputStream2、字节输出流 类名:FileOutputStream 特点:写…

C++ 基类和派生类的析构函数

和构造函数类似,析构函数也不能被继承。与构造函数不同的是,在派生类的析构函数中不用显式地调用基类的析构函数,因为每个类只有一个析构函数,编译器知道如何选择,无需程序员干涉。 另外析构函数的执行顺序和构造函数…

素描java字母_进行Java基本GUI设计需要用到的包是

【单选题】下列各类计算机程序语言中,不属于高级程序设计语言的是【填空题】以下程序从名为 filea.dat 的文本文件中逐个读入字符并显示在屏幕上。请填空。 #include main() { FILE *fp; char ch; fp fopen( 【3】 ); ch fgetc(fp); while (!feof(fp)) { putchar(ch); chfget…

C++ 多继承

派生类都只有一个基类,称为单继承(Single Inheritance)。除此之外,C也支持多继承(Multiple Inheritance),即一个派生类可以有两个或多个基类。 多继承的语法也很简单,将多个基类用逗…

C++ 向上转型

在 C 中经常会发生数据类型的转换,例如将 int 类型的数据赋值给 float 类型的变量时,编译器会先把 int 类型的数据转换为 float 类型再赋值;反过来,float 类型的数据在经过类型转换后也可以赋值给 int 类型的变量。 数据类型转换…

java拆分任意五位数_五位数拆分出各位 - osc_foo7glsg的个人空间 - OSCHINA - 中文开源技术交流社区...

5、输入一个五位数,输出一个反转的五位数输入-》12345 输出-》54321//这是五位数字拆分方法。System.out.println("请输入五位数的数字:"); // 比如:12345int g1num%10;int g2num/10%10;int g3num/100%10;int g4num/1000%10;int g…

C++ 纯虚函数和抽象类

C中,可以将虚函数声明为纯虚函数,语法格式为: virtual 返回值类型 函数名 (函数参数) 0;纯虚函数没有函数体,只有函数声明,在虚函数声明的结尾加上0,表明此函数为纯虚函数。 最后的0并不表示函数返回值为…

python中保留两位小数的编写程序_P081 保留两位小数

所属年份:2011.3;2011.9请编一个函数 float fun(double h),该函数的功能是:使变量h中的值保留两位小数,并对第三位进行四舍五入(规定h中的值为正数)。例如,若h 值为1234.567,则函数返回1234.570000&#xf…

C++ 获取类型信息

typeid 运算符用来获取一个表达式的类型信息。类型信息对于编程语言非常重要,它描述了数据的各种属性: 对于基本类型(int、float 等C内置类型)的数据,类型信息所包含的内容比较简单,主要是指数据的类型。对…

java 8 lambda 申明_2019-02-03——Java8 Lambda

一.认识LambdaLambda表达式专门针对只有一个方法的接口(即函数式接口)lambda表达式的基本格式为(x,y...)—>{表达式...};(1)可选类型声明:不需要声明参数类型,编译器可以统一识别参数值。(2)可选的参数圆括号:一个参数无需定义圆括号&…

C 数字排列组合

编辑程序让任意四个数字排列组合并且每一个排列组合的数字都不相同。 结果展示 完整代码 #include <stdio.h> //定义头文件 int main() {int i,j,k;printf("\n");for(i1;i<5;i){ //三重循环 for(j1;j<5;j){for(k1;k<5;k){ //确保 i j k 位置不同 i…

java 汇总_java基础汇总

1.关于Http和Hibernatet里面Session的区别HttpSessionHttpSession&#xff1a;是一个抽象接口&#xff0c;J2EE的Web程序在运行的时候&#xff0c;会给每一个新的访问者建立一个HttpSession&#xff0c;这个Session是用户身份的唯一标示&#xff0c;WEB 会话跟踪用的。【注:是容…

C 天数的计算

根据程序提示输入某年某月某日&#xff0c;判断这一天是这一年的第几天&#xff0c;并进行输出显示。 效果演示 完整代码 #include <stdio.h> int main() {int day,month,year,sum,leap;printf("\n请输入年、月、日&#xff0c;格式为&#xff1a;年,月,日&#…

java+filter加密_Javaweb之Filter案例练习-自动登录问题和MD5加密

自动登录问题和MD5加密前面已经完成了Filter的自动登录&#xff0c;但是有问题&#xff0c;我们在web.xml中Filter的url-mapping中配置的规则是/*, 也就是这个网站的所有请求都拦截。这肯定不合适。我们本来访问/login.jsp&#xff0c;本来就是去登录&#xff0c;结果也进行了拦…