数据库原理与应用 第 10 章 · 第二节
课程 › 第 10 章 › 第二节 mysqldump 语法备份表和库结构、数据、部分行Workbench 备份 版式
第 10 章 数据库备份还原和日志管理 · 第二节

用 mysqldump 备份

mysqldump 的语法,备份表、数据库、结构、数据和部分数据,用 Workbench 备份
本 节 知 识 点
  1. 07mysqldump 命令的语法
  2. 08备份表和数据库(例 10-1 到例 10-7)
  3. 09只备份结构、数据或部分数据(例 10-8 到例 10-10)
  4. 10用 Workbench 备份
07
第 10 章 · 第二节 · 课件第 11 页重做

mysqldump 命令的语法

在命令提示符中执行,把数据库导出为 .sql 文件。

10.2 MySQL 数据库备份课件第 11 页重做

mysqldump 命令的语法

mysqldump -u 用户名 -h 主机名 -p 数据库名 [表名 …] > 文件名.sql
写法含义
-u root登录的用户名
-h localhost服务器的主机名,连接本机时可以省略
-p按 Enter 键后再输入密码。密码也可以直接写在 -p 后面,中间不能有空格
teaching要备份的数据库
s c要备份的表,多个表用空格隔开。省略时备份整个库
> 文件名.sql把结果写入文件。不写路径时,文件保存在命令提示符的当前文件夹
mysqldump 是一个程序,要在 Windows 的命令提示符中执行,不能在 Workbench 或 mysql> 中执行。文件名不带路径时,备份文件保存在命令提示符的当前文件夹中。

重 点

命令执行后不显示任何信息就是成功了,文件中是 CREATE TABLE 和 INSERT 语句。

知道更多不要用 PowerShell

PowerShell 中的 > 会改变文件的编码,< 也不能使用,本章的命令都在命令提示符中执行。

实 验

实验 1-1 准备命令提示符

08
第 10 章 · 第二节 · 课件第 12、13 页合并重做

备份表和数据库(例 10-1 到例 10-7)

库名后跟表名只备份这些表,加 --databases 备份整个库。

10.2 MySQL 数据库备份课件第 12、13 页合并

备份表和数据库(例 10-1 到例 10-7)

例 10-2 的完整写法
mysqldump -u root -p teaching s > d:/teaching_s.sql
写法备份的内容文件中有没有建库语句
teaching库中的全部表(例 10-1)没有
teaching s一张表(例 10-2)没有
teaching s c两张表(例 10-3)没有
--databases teaching整个库(例 10-5)有 CREATE DATABASE 和 USE
--databases teaching bankaccount两个库(例 10-6)有
--all-databases全部数据库,包括系统库(例 10-7)有
  • 表名之间、库名之间都用空格隔开
  • 文件中有建库语句时,还原前不用建库,还原命令中也不用写库名

重 点

表名之间用空格隔开。写成 s,c,mysqldump 会去找名为 s,c 的表,报错。

实 验

实验 1-2 备份一张表和两张表

实 验

实验 1-3 备份整个数据库

09
第 10 章 · 第二节 · 课件第 14、15 页合并重做

只备份结构、数据或部分数据(例 10-8 到例 10-10)

三个选项分别只备份结构、只备份数据、只备份部分行。

10.2 MySQL 数据库备份课件第 14、15 页合并

只备份结构、数据或部分数据(例 10-8 到例 10-10)

mysqldump -u root -p 选项 teaching s > 文件名.sql
mysqldump -u root -p --no-data teaching s > d:/s1.sql
选项文件中有文件中没有
--no-dataDROP TABLE、CREATE TABLEINSERT
--no-create-infoINSERTDROP TABLE、CREATE TABLE
--where="条件"满足条件的行其他的行
例 10-4、例 10-8 中的 --opt 是默认打开的选项,写不写结果都一样。例 10-10 的条件用了中文引号,命令提示符会把其中的 < 当成还原用的符号,命令不能执行。它也没有写 > 文件名,结果只显示在屏幕上。

想一想

只有数据、没有建表语句的文件,能还原到一个空库中吗?

实 验

实验 1-4 只备份结构、数据或部分行

10
第 10 章 · 第二节 · 课件第 16 页

用 Workbench 备份

Data Export 中选好库和保存位置,就能导出。

课件第 16 页

知道更多导出方式

Self-Contained File 把整个库导出为一个 .sql 文件,与 mysqldump 相同。

重 点

界面上的勾选项就是 mysqldump 的选项,例如只导出结构对应 --no-data。

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