IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 数据库实验7---数据库的备份与恢复 -> 正文阅读

[大数据]数据库实验7---数据库的备份与恢复

实验内容

  1. 使用mysqldump命令备份数据库studentsdb的所有表,存于D:\下,文件名为all_tables.sql。
  2. 在MySQL服务器上创建数据库student1,使用mysql命令将备份文件all_tables.sql恢复到数据库student1中。
  3. 使用mysqldump命令备份数据库studentsdb的所有表,存于D:\下,文件名为s_c.sql。
  4. 在MySQL服务器上创建数据库student2,使用mysql命令将备份文件s_c.sql恢复到数据库student2中。
  5. 使用mysqldump命令将 studentsdb数据库中的grade表中的记录导出到文本文件。
  6. 删除数据库student1的grade表中全部记录。
    使用mysqlimport命令将grade.txt文件中的数据导入到student1的grade表中。
  7. 使用SELECT…INTO OUTFILE语句备份studentsdb数据库中的curriculum表的数据到文本文件c.txt。要求字段之间用“|”隔开,字符型数据用双引号括起来。
  8. 删除数据库student1的curriculum表中全部记录。
    使用LOAD DATA INFILE语句将c.txt文件中的数据导入到student1的curriculum表中。
    9.使用二进制日志恢复数据库。
    (1)完全备份数据库。使用mysqldump命令备份所有数据库到D:\的all_db.sql。
    (2)删除studentsdb数据库student_info表的所有记录。
    (3)使用mysqladmin进行增量备份。
    (4)使用mysql命令恢复all_db.sql文件的完全备份。
    (5)使用mysqlbinlog命令恢复增量备份。

实验步骤及处理结果

粘贴SQL代码(小四号,宋体)及运行结果图

思考体会

参考资料


# 附 代码
MySQL服务器:Navicat
1. 使用mysqldump命令备份数据库studentsdb的所有表,存于D:\下,文件名为all_tables.sql。
先转到bin文件夹 cd 路径
在CMD命令提示符窗口中执行命令。
C:\>mysqldump -u root -h localhost -p studentsdb>d:\all_tables.sql 

2. 在MySQL服务器上创建数据库student1,使用mysql命令将备份文件all_tables.sql恢复到数据库student1中。
CREATE DATABASE student1;

然后在CMD命令提示符窗口中执行命令。
C: \>mysql -u root -p student1<d:\all_tables.sql

3. 使用mysqldump命令备份数据库studentsdb的所有表,存于D:\下,文件名为s_c.sql。
C:\>mysqldump -u root -h localhost -p studentsdb student_info curriculum>d:\s_c.sql

4. 在MySQL服务器上创建数据库student2,使用mysql命令将备份文件s_c.sql恢复到数据库student2中。
在MySQL服务器上创建数据库student2
CREATE DATABASE student2;
然后在CMD命令提示符窗口中执行命令。
C:\>mysql -u root -p student2<d:\s_c.sql

在使用SELECTINTO OUTFILE语句时,目标文件的路径只能是MySQL的secure_file_priv参数所指定的位置,可通过以下语句获取。
SELECT @@secure_file_priv;没有就查资料设置一下
show variables like 'secure%'
5. 使用mysqldump命令将 studentsdb数据库中的grade表中的记录导出到文本文件。
C:\>mysqldump -u root -p -T "C:\Users\zjj\Desktop\数据库原理及应用\环境\mysql-8.0.23-winx64\Uploads" studentsdb grade --lines-terminated-by=\r\n 
#路径的最后一个\不能要

6. 删除数据库student1的grade表中全部记录。
   使用mysqlimport命令将grade.txt文件中的数据导入到student1的grade表中。
USE student1;
SET SQL_SAFE_UPDATES=0;
DELETE FROM grade;
然后在CMD命令提示符窗口中执行命令。
C:\>mysqlimport -u root -p student1 "C:\Users\zjj\Desktop\数据库原理及应用\环境\mysql-8.0.23-winx64\Uploads\grade.txt" --lines-terminated-by=\r\n

7. 使用SELECTINTO OUTFILE语句备份studentsdb数据库中的curriculum表的数据到文本文件c.txt。要求字段之间用“|”隔开,字符型数据用双引号括起来。
USE studentsdb;
SELECT * FROM curriculum
INTO OUTFILE 'C:\Users\zjj\Desktop\数据库原理及应用\环境\mysql-8.0.23-winx64\Uploads\c.txt' FIELDS TERMINATED BY '|'OPTIONALLY ENCLOSED BY'"'
LINES TERMINATED BY'\r\n';

8. 删除数据库student1的curriculum表中全部记录。
   使用LOAD DATA INFILE语句将c.txt文件中的数据导入到student1的curriculum表中。
在MySQL服务器上执行语句。
USE student1;
SET SQL_SAFE_UPDATES=0; 
DELETE FROM curriculum;
LOAD DATA INFILE 'C:\Users\zjj\Desktop\数据库原理及应用\环境\mysql-8.0.23-winx64\Uploads\c.txt' INTO TABLE student1.curriculum
FIELDS TERMINATED BY '|'OPTIONALLY ENCLOSED BY'"' LINES TERMINATED BY'\r\n';

9.使用二进制日志恢复数据库。
(1)完全备份数据库。使用mysqldump命令备份所有数据库到D:\的all_db.sql。
C:\>mysqldump -u root -h localhost -p --single-transaction --flush-logs --master-data=2 --all-databases>d:\all_db.sql2)删除studentsdb数据库student_info表的所有记录。
在MySQL服务器上执行语句。
USE studentsdb;
SET SQL_SAFE_UPDATES=0; 
DELETE FROM student_info;3)使用mysqladmin进行增量备份。
在CMD命令提示符窗口中执行命令。
C:\>mysqladmin -u root -h localhost -p flush-logs 

(4)使用mysql命令恢复all_db.sql文件的完全备份。
在CMD命令提示符窗口中执行命令。
C:\>mysql -u root -p<d:\all_db.sql5)使用mysqlbinlog命令恢复增量备份。
-- 查看当前数据库是否开启binlog
show variables like '%log_bin%';
-- 查看当前数据库binary log的位置
show master status;     
-- 查看binlog日志文件有哪些
show binary logs;
-- 查看具体日志文件
show binlog events in 'binlog.000001';
在CMD命令提示符窗口中执行命令。
C:\>mysqlbinlog "C:\Users\zjj\Desktop\数据库原理及应用\环境\mysql-8.0.23-winx64\data\binlog.000001" | mysql -u root -p
  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-06-04 00:01:46  更:2022-06-04 00:01:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 23:29:29-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码