MySQL数据库备份与恢复 待我称王封你为后i 2022-05-29 13:25 278阅读 0赞 ### **一、数据备份** ### **使用mysqldump命令备份** MySQL提供了很多免费的客户端实用程序,保存在MySQL安装目录下的bin子目录下,如下图所示,这些客户端程序可以连接到MySQL服务器进行数据库的访问,或者对MySQL进行管理。 ![WEBRESOURCEfa27c37574a503f75d898ea70467a433][] 在使用这些工具时,需要打开计算机的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 <D:\\db\_library.sql ### **三、数据转移** ### 相同数据库之间转移,使用命令备份和还原数据库 假设从一个名称为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之间的数据库迁移。 [WEBRESOURCEfa27c37574a503f75d898ea70467a433]: https://note.youdao.com/yws/res/1988/WEBRESOURCEfa27c37574a503f75d898ea70467a433
还没有评论,来说两句吧...