Msa数据库管理》实验指导实验九:数据备份与数据恢复1 《 MySQL数据库管理》实验指导 实验九数据备份与数据恢复 、实验目的 1、掌握使用SQL语句进行数据库备份的方法 2、掌握使用客户端程序进行备份的方法 二、实验学时 2学时 实验类型 验证性 四、实验需求 1、硬件 Windows操作系统的计算机 2、软件 Windows操作系统,安装 MySQL Community Server软件。 3、网络 局域网环境 4、工具 无 五、实验理论与预备知识 (1) SELECT INTO… OUTFILE语句 SELECT* INTO OUTFILE‘文件名1 [fields terminated by‘ string’ closed by‘char'j escaped by‘char’ [ines[ starting by‘ string’l[ terminated by‘ string’ I dumpfile“文件名2 (2) LOAD DATA… INFILE语句 LOAD DATA[ ow_prioritylconcurrent[ ocal INFILE‘文件名tt replace ignore] INTO TABLE表名 本讲共计5页|当前是第1页
《MySQL 数据库管理》实验指导实验九:数据备份与数据恢复 1 本讲共计 5页 | 当前是第 1页 《MySQL 数据库管理》实验指导: 实验九 数据备份与数据恢复 一、实验目的 1、掌握使用 SQL 语句进行数据库备份的方法; 2、掌握使用客户端程序进行备份的方法。 二、实验学时 2 学时 三、实验类型 验证性 四、实验需求 1、硬件 Windows 操作系统的计算机。 2、软件 Windows 操作系统,安装 MySQL Community Server 软件。 3、网络 局域网环境。 4、工具 无。 五、实验理论与预备知识 (1)SELECT INTO … OUTFILE 语句 SELECT * INTO OUTFILE ‘文件名 1’ [fields [terminated by ‘string’] [[optionally] enclosed by ‘char’] [escaped by ‘char’] ] [lines [starting by‘string’][terminated by ‘string’]] | dumpfile ‘文件名 2’ (2) LOAD DATA … INFILE 语句 LOAD DATA [low_priority|concurrent] [local] INFILE ‘文件名.txt’ [replace |ignore] INTO TABLE 表名
《MySL数据库管理》实验指导实验九:数据备份与数据恢复 fields[ terminated by‘ string’ [ optionally] enclosed by‘char’ [escaped by‘char’ [ines[ starting by‘ string' TErminated by‘ string’ ignore number lines 「用户变量](列名,… set列名=表达式;… (3)备份表: mysqldump[ OPTIONS]数据库名[表名…备份的文件名 (4)备份数据库: mysqldump[ OPTIONS]- databases数据库名…>备份的文件名 (5)备份全部数据库: mysqldump[ OPTIONS]- all-databases>备份的文件名 (6)恢复: mysql-u用户名]-p[密码]数据库名<文件名 source命令语法格式: souirce文件名 六、实验内容与结果 (一)SQL语句数据库备份和恢复表数据。 使用SQL语句只能备份和恢复表的内容,如果表的结构损坏,则要先恢复表的结构才能恢复 数据;请将实现功能的SQL语句填写到实验报告册。 1、备份 备份xscj数据库中的kc表中的数据,要求字段值间用逗号隔开,每行以“#”开头,并以 “?”为结束标志,每条记录占一行。备份的文件名为“kctt”。 2、恢复 删除xscj数据库中的kc表中所有数据,要求将 kc. txt文件中数据导入至kc表。 二)客户端工具备份和恢复数据库和数据表 1、备份 使用客户端工具首先要打开客户端工具的运行环境,即打开命令行窗口,进入bin目录,然后 使用上述格式的命令;请将实现功能的SQL语句填写到实验报告册 ①使用 mysqldump备份xs表和kc表,备份到E盘的test文件夹下。 ②使用 mysqldump备份数据库xsqj,备份到E盘的test文件夹下 ③使用 mysqldump备份所有数据库,备份到E盘的test文件夹下。 2、恢复 ①假设ⅹsj数据库损坏,使用备份文件将其恢复。 本讲共计5页|当前是第2页
《MySQL 数据库管理》实验指导实验九:数据备份与数据恢复 2 本讲共计 5页 | 当前是第 2页 [fields [terminated by ‘string’] [[optionally] enclosed by ‘char’] [escaped by ‘char’]] [lines [starting by‘string’][terminated by ‘string’]] [ignore number lines] [用户变量][(列名,…)] [set 列名=表达式,…] (3)备份表: mysqldump [OPTIONS] 数据库名 [表名…]>备份的文件名 (4)备份数据库:mysqldump [OPTIONS] --databases 数据库名…>备份的文件名 (5)备份全部数据库:mysqldump [OPTIONS] --all-databases>备份的文件名 (6)恢复:mysql –u[用户名] –p [密码] 数据库名< 文件名 source 命令语法格式: source 文件名 六、实验内容与结果 (一)SQL 语句数据库备份和恢复表数据。 使用 SQL 语句只能备份和恢复表的内容,如果表的结构损坏,则要先恢复表的结构才能恢复 数据;请将实现功能的 SQL 语句填写到实验报告册。 1、备份 备份 xscj 数据库中的 kc 表中的数据,要求字段值间用逗号隔开,每行以“#”开头,并以 “?”为结束标志,每条记录占一行。备份的文件名为“kc.txt”。 2、恢复 删除 xscj 数据库中的 kc 表中所有数据,要求将 kc.txt 文件中数据导入至 kc 表。 (二)客户端工具备份和恢复数据库和数据表 1、备份 使用客户端工具首先要打开客户端工具的运行环境,即打开命令行窗口,进入 bin 目录,然后 使用上述格式的命令;请将实现功能的 SQL 语句填写到实验报告册。 ①使用 mysqldump 备份 xs 表和 kc 表,备份到 E 盘的 test 文件夹下。 ②使用 mysqldump 备份数据库 xscj,备份到 E 盘的 test 文件夹下。 ③使用 mysqldump 备份所有数据库,备份到 E 盘的 test 文件夹下。 2、恢复 ①假设 xscj 数据库损坏,使用备份文件将其恢复
《MySL数据库管理》实验指导实验九:数据备份与数据恢复 (三)使用日志恢复数据 1、root用户登录 MySQL服务器,并启动日志,自动生成的日志文件为 binlog0000 参考命令: 2、通过下列命令清除所有日志 参考命令 1> reset 3、创建名称为 user db的数据库 参考命令 mysql>create database user db 选择数据库 参考命令: 5、创建表tb1和tb2,两表格式完全一样 参考命令 1> id int(11) not null auto increment ENGINE=InnoDB DEFAULT CHARSET=utf8 id int(11) not null auto increment )ENGINE=InnoDB DEFAULT CHARSET=utfs 6、向数据库的tb_1和tb_2表中添加一些数据 参考命令 mysql>insert into tb_I(id)values(1),(2),(3) mysql>insert into tb 2 values(4, a'),(5, b),(6, 'c') 7、退出数据库 参考命令 8、开始备份整个数据库,进入命令提示符窗口 参考命令: :/test/ 9、清空表tb1和t2的数据 参考命令: 本讲共计5页|当前是第3页
《MySQL 数据库管理》实验指导实验九:数据备份与数据恢复 3 本讲共计 5页 | 当前是第 3页 (三)使用日志恢复数据 1、root 用户登录 MySQL 服务器,并启动日志,自动生成的日志文件为 binlog.000001 参考命令: mysql -uroot -p 2、通过下列命令清除所有日志 参考命令: mysql> reset master; 3、创建名称为 user_db 的数据库 参考命令: mysql>create database user_db; 4、选择数据库 参考命令: mysql>use user_db; 5、创建表 tb_1 和 tb_2,两表格式完全一样 参考命令: mysql> create table tb_1 ( id int(11) not null auto_increment, Primary key (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; mysql>create table tb_2 ( id int(11) not null auto_increment, uid varchar(50) not null, Primary key (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 6、向数据库的 tb_1 和 tb_2 表中添加一些数据 参考命令: mysql>insert into tb_1(id) values(1),(2),(3); mysql>insert into tb_2 values(4,'a'),(5,'b'),(6,'c'); 7、退出数据库 参考命令: mysql>quit 8、开始备份整个数据库,进入命令提示符窗口 参考命令: mysqldump -u root -p user_db>e:/test/user_db.sql 9、清空表 tb_1 和 tb_2 的数据 参考命令:
Msu.数据库管理》实验指导实验九:数据备份与数据恢复4 mysql- u root→p mysql>use user_ db mysql>truncate table tb l mysql>truncate table tb 2 10、运行一条sql语句 参考命令: mysql>Flush logs flush logs语句的含义是创建新的日志文件;此时生成新的日志文件 binlog0000 11、向数据库的tb1和tb2表中又添加一些数据 参考命令: mysql>use user db mysql>insert into tb l(id)values(11),(22),(33) mysql> insert into tb2 values(44,’a’),(55,’b’),(66,’c’) 12、运行一条sql语句,此时生成新的日志文件 binlog00003 参考命令: mysql>Flush logs 13、退出数据库 参考命令: mysql>quit 14、恢复备份前的数据库 user db 参考命令: er db< e: /test/user db. sql 15、通过二进制日志,恢复到 binlog00000时的数据状态 参考命令 mysqlbinlog C: /mysql/ mysql-5.7.23-win32/data/binlog. 000002 mysql -u root 上述全部执行后是否恢复到第二次向数据表添加数据的状态?并将tb1和tb2数据表中的数 据写在实验报告上 七、实验扩展资源 1、图书 (1)郑阿奇主编《 MySQL实用教程》(第1版),北京:电子工业出版社,2012.05 (2)崔洋主编《 MySQL数据库应用从入门到精通》(第1版),北京:中国铁道出版社,201301 (3)王雨竹、高飞主编《MSQL入门经典》(第1版),北京:机械工业出版社,201304 (4)黄缙华主编《 MySQL入门很简单》(第1版),清华大学出版社 (5)唐汉明主编《深入浅出 MySQL数据库开发、优化与管理维护》(第2版),人民邮电出 版社 本讲共计5页|当前是第4页
《MySQL 数据库管理》实验指导实验九:数据备份与数据恢复 4 本讲共计 5页 | 当前是第 4页 mysql -u root -p mysql>use user_db; mysql>truncate table tb_1; mysql>truncate table tb_2; 10、运行一条 sql 语句 参考命令: mysql>Flush logs; flush logs 语句的含义是创建新的日志文件;此时生成新的日志文件 binlog.000002。 11、向数据库的 tb_1 和 tb_2 表中又添加一些数据 参考命令: mysql>use user_db; mysql>insert into tb_1(id) values(11),(22),(33); mysql>insert into tb_2 values(44,'a'),(55,'b'),(66,'c'); 12、运行一条 sql 语句,此时生成新的日志文件 binlog.000003。 参考命令: mysql>Flush logs; 13、退出数据库 参考命令: mysql>quit 14、恢复备份前的数据库 user_db 参考命令: mysql -u root -p user_db < e:/test/user_db.sql 15、通过二进制日志,恢复到 binlog.000002 时的数据状态 参考命令: mysqlbinlog C:/mysql/mysql-5.7.23-win32/data/binlog.000002 | mysql -u root -p 上述全部执行后是否恢复到第二次向数据表添加数据的状态?并将 tb_1 和 tb_2 数据表中的数 据写在实验报告上。 七、实验扩展资源 1、图书 (1)郑阿奇主编《MySQL 实用教程》(第 1 版),北京:电子工业出版社,2012.05 (2)崔洋主编《MySQL 数据库应用从入门到精通》(第 1 版),北京:中国铁道出版社,2013.01 (3)王雨竹、高飞主编《MySQL 入门经典》(第 1 版),北京:机械工业出版社,2013.04 (4)黄缙华主编《MySQL 入门很简单》(第 1 版),清华大学出版社 (5)唐汉明主编《深入浅出 MySQL 数据库开发、优化与管理维护》(第 2 版),人民邮电出 版社
Msu.数据库管理》实验指导实验九:数据备份与数据恢复5 6)贺春旸主编《MysαL管理之道:性能调优、高可用与监控》(第1版),机械工业出版社 2、期刊论文 3、在线学习平台 (1)http://lollipop.51xueweb.cr (2)http://ke.51xueweb.cn/ 4、其他资源 本讲共计5页|当前是第5页
《MySQL 数据库管理》实验指导实验九:数据备份与数据恢复 5 本讲共计 5页 | 当前是第 5页 (6)贺春旸主编《MySQL 管理之道:性能调优、高可用与监控》(第 1 版),机械工业出版社 2、期刊论文 3、在线学习平台 (1)http://lollipop.51xueweb.cn/ (2)http://ke.51xueweb.cn/ 4、其他资源