数据库原理与应用 第 10 章 · 第二节
课程第 10 章第二节 两个原则语法备表备库拆成两半备一部分图形界面备份另一个工具 版式
第 10 章 数据库备份还原和日志管理 · 第二节

用 mysqldump 备份

一条命令的每个参数各管什么,表、库、结构、数据、部分数据怎么分别备。
本 节 知 识 点
  1. 10尽早经常,多地多份
  2. 11一条命令七个位置
  3. 12库名后面跟表名
  4. 13加 --databases 才带建库语句
  5. 14两个参数各去掉一半
  6. 15--where 后面跟条件
  7. 16Workbench 里点几下
  8. 17Windows 上没有这个命令
10
第 10 章 · 第二节

尽早经常,多地多份

备份这件事只有两条铁律,剩下的都是细节。

第 10 页课件

重 点

备份文件必须放在另一台机器或另一块盘上,这一条比备得多勤更重要。

打个比方

把钥匙的备份放在门口地垫下面,跟没备份差不多。

想一想

备份文件和数据库放在同一块硬盘上,防得住什么?

11
第 10 章 · 第二节

一条命令七个位置

用户名、主机、口令、库名、表名、大于号、文件名,位置对了就成。

第 11 页课件

重 点

-p 和口令中间不能有空格,这是最容易出错的一处。

记牢它记住那个大于号

  1. mysqldump 往外导
  2. > 后面是文件

试一试一条命令拆开看

要备的是

上机做

上机一第 2 题 备一张表试试

12
第 10 章 · 第二节

库名后面跟表名

跟一个表就备一个,跟两个就备两个,不跟就备整个库的表。

第 12 页课件

重 点

表名之间用空格隔开,不是逗号,写成逗号就报错。

知道更多

--opt --no-data 只导表结构,一条 INSERT 都不会有。

上机做

上机一第 3 题 一次备两张表

13
第 10 章 · 第二节

加 --databases 才带建库语句

不加只导表,加了文件里就多一句 CREATE DATABASE 和 USE。

第 13 页课件

分清楚差在哪

写法文件里有没有建库句
teaching没有
--databases

重 点

带了建库语句,还原时就不用先建库,直接灌进去它自己会建。

上机做

上机一第 4 题 两种写法各备一次

14
第 10 章 · 第二节

两个参数各去掉一半

一个参数去掉数据,另一个参数去掉建表语句。

第 14 页课件

分清楚两个参数

参数去掉的是
--no-data数据
--no-create-info建表句

重 点

只导结构用来在新机器上搭空架子,只导数据用来往已有的表里灌。

想一想

只导数据的那份文件,能还原到一个空库里吗?

15
第 10 章 · 第二节

--where 后面跟条件

只备符合条件的那几行,条件写法和 WHERE 一模一样。

第 15 页课件

重 点

--where 只能用在单表上,一次备两张表时它不起作用。

知道更多更正

课件那句用了中文引号,而且末尾没写 > 文件名,结果只是打在屏幕上。

上机做

上机一第 6 题 只备十八岁以下

16
第 10 章 · 第二节

Workbench 里点几下

Data Export 里选好库和路径,点 Start Export。

第 16 页课件

重 点

图形界面底下调的还是 mysqldump,参数换成了勾选框。

想一想

服务器上没装图形界面时怎么办?

17
第 10 章 · 第二节

Windows 上没有这个命令

它要 Perl,只跑在 Unix 上,而且只备份 MyISAM 的表。

第 17 页课件

重 点

InnoDB 是 MySQL 8 的默认引擎,所以这个工具在今天基本用不上。

知道更多

MySQL 5.7 之后官方已经把它移除了,考试认它,实际做不用它。

保山学院·人工智能教研室·曹鼎鼎