使用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/BV1eW4y177VH/?spm_id_from=333.999.0.0&vd_source=a7816e3b2a3a67ac39dc87f6bf92421chttps://www.bilibili.com/video/BV1eW4y177VH/?spm_id_from=333.999.0.0&vd_source=a7816e3b2a3a67ac39dc87f6bf92421c