MySQL数据库备份与恢复

一、数据备份

使用mysqldump命令备份
MySQL提供了很多免费的客户端实用程序,保存在MySQL安装目录下的bin子目录下,如下图所示,这些客户端程序可以连接到MySQL服务器进行数据库的访问,或者对MySQL进行管理。
在使用这些工具时,需要打开计算机的DOS命令窗口,然后在该窗口的命令提示符下输入要运行程序所对应的命令。例如,要运行mysqlimport.exe程序,可以输入mysqlimport命令,再加上对应的参数即可。
在MySQL提供的客户端实用程序中,mysqlpump.exe就是用于实现MySQL数据库备份的实用工具,它可以将数据库中的数据备份成一个文本文件,并且将表的结构和表中的数据存储在这个文本文件中。下面将介绍如何使用mysqlpump.exe工具进行数据库备份。
mysqldump命令的 工作原理很简单,它先查出需要备份的表的结构,并且在文本文件中生成一个CREATE语句,然后将表中的所有记录转换成一条INSERT语句,这些 CREATE语句和INSERT语句都是还原时使用的。还原数据时就可以使用其中的CREATE语句来创建表,使用其中的INSERT语句来还原数据。
  • 备份一个数据库
mysqldump -u username -p dbname table1 table2 ....>BackupName.sql
其中,dbname参数表示数据库的名字;table1和table2表示表的名称,没有该参数时将备份整个数据库;BackupName.sql参数表示备份文件的名称,文件名前面加一个绝对路径,通常将数据库备份成一个后缀名为.sql的文件。
如下:
mysqldump -u root -p db_library >D:\db_library.sql
  • 备份多个数据库
使用“--databases"选项
mysqldump -u root -p --databases dbname1 dbname2 >D:\db_library.sql
此时,db_library.sql文件中存储着两个数据库的所有信息
  • 备份所有数据库
使用“--all-databases"选项
mysqldump -u root -p --all-databases >D:\backupAll.sql

二、数据恢复

使用mysql命令进行数据恢复,分为两步:
(1)在MySQL的命令行窗口的MySQL命令提示下输入以下代码,创建要还原的数据库,这里为db_library
CREATE DATABASE IF NOT EXISTS da_library;
(2)选择”开始/运行“命令,在弹出的”运行“窗口中输入”cmd“命令,进入DOS命令行,用mysql命令还原数据库db_library
mysql -u root -p db_library

三、数据转移

相同数据库之间转移,使用命令备份和还原数据库
假设从一个名称为host1的机器中备份出所有数据库,然后将这些数据库迁移到名称为host2的机器上,可以使用以下命令:
mysqldump -h host1 -u root --password=password1 --all-databases |
mysql -h host2 -u root --password=password2
其中,”|“符号表示管道,其作用是将mysqldump备份的文件送给mysql命令;”--passwordpassword1“是host1主机上root用户的密码,同理,password2是host2主机上的root用户的密码。通过这种方式可以直接实现数据库之间的迁移,包括相同版本和不同版本的MySQL之间的数据库迁移。

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