MySQL——使用mysqldump命令备份

使用mysqldump命令备份

mysqldump命令可以将数据库中的数据备份成一个文本文件。表的结构和表中的数据将存储在生成的文本文件中。本节将介绍mysqldump命令的工作原理和使用方法。

mysqldump命令的工作原理很简单。它先查出需要备份的表的结构,再在文本文件中生成一条CREATE语句。然后,将表中的所有记录转换成一条INSERT语句。这些CREATE语句和INSERT语句都是还原时使用的。还原数据时就可以使用其中的CREATE语句来创建表。使用其中的INSERT语句来还原数据。

在使用mysqldump命令进行数据备份时,经常分为以下3种形式。

(1)备份一个数据库。

(2)备份多个数据库。

(3)备份所有数据库。

下面将分别介绍如何实现这3种形式的数据备份。

1.备份一个数据库

使用mysqldump命令备份一个数据库的基本语法如下。

mysqldump –u username -p dbname table1 table2 …>BackupName.sql

其中,dbname参数表示数据库的名称;table1和table2参数表示表的名称,没有该参数时将备份整个数据库;BackupName.sql参数表示备份文件的名称,文件名前面可以加上一个绝对路径。通常将数据库备份成一个后缀名为.sql的文件。
说明

mysqldump命令备份的文件并非一定要求后缀名为.sql,备份成其他格式的文件也是可以的,例如,后缀名为.txt的文件。但是,通常情况下是备份成后缀名为.sql的文件。因为,后缀名为.sql的文件给人第一感觉就是与数据库有关的文件。

例18.1 下面使用root用户备份test数据库下的student表,命令如下。

mysqldump –u root –p test student >D:\ student.sql

在DOS命令窗口中执行上面的命令时,将提示输入连接数据库的密码,输入密码后将完成数据备份,这时可以在D:\中找到student.sql文件。

上面student.sql文件中没有创建数据库的语句,因此,student.sql文件中的所有表和记录必须还原到一个已经存在的数据库中。还原数据时,CREATE TABLE语句会在数据库中创建表,然后执行INSERT语句向表中插入记录。

2.备份多个数据库

mysqldump命令备份多个数据库的语法如下。

mysqldump –u username –p --databases dbname1 dbname2  >BackupName.sql

这里要加上databases这个选项,然后后面跟多个数据库的名称。
例18.2 下面使用root用户备份test数据库和mysql数据库,命令如下。

mysqldump –u root -p --databases test mysql  >D:\backup.sql

在DOS命令窗口中执行上面的命令时,将提示输入连接数据库的密码,输入密码后将完成数据备份,这时可以在D:\下面看到名为backup.sql的文件,如图18.2所示。这个文件中存储着这两个数据库的所有信息。

备份多个数据库

3.备份所有数据库

mysqldump命令备份所有数据库的语法如下。

mysqldump –u username –p --all –databases >BackupName.sql

使用--all –databases选项就可以备份所有数据库了。

例18.3 下面使用root用户备份所有数据库。命令如下。
mysqldump –u root -p --all -databases  >D:\all.sql

在DOS命令窗口中执行上面的命令时,将提示输入连接数据库的密码,输入密码后将完成数据备份,这时可以在D:\下面看到名为all.sql的文件。

了解更多MySQL知识,可以点击下方链接和小编一起学习哟~
https://www.bilibili.com/video/BV1qL411u7eEicon-default.png?t=M85Bhttps://www.bilibili.com/video/BV1qL411u7eE

你可能感兴趣的:(mysql,数据库,sql)