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 <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之间的数据库迁移。

四、数据进入/退出

登陆MySQL的常用参数
1.登陆的时候打开了命令行,写出了一个“mysql -uroot -p”
2.也可以跟上服务器的名称,-h。因为服务器和客户端是装在一个电脑上的,我们可以写“localhost”或者“127.0.0.1”
3.登陆后,mysql>是默认的命令提示符。用–prompt=name,可以设置命令提示符。例如输入“mysql -hlocalhost -uroot”,但设置的命令符只对当前有效
4.-P,跟上端口号。如果没有跟的话,也会使用默认的端口号(可以在安装的时候看到):3308。例如输入“mysql -uroot -p -P3308”
5.-V,输出版本信息并且退出。例如输入“mysql -uroot -proot -V”,可以看到mysql的版本号。

退出MySQL的常用参数
1.exit   #退出。又回到了命令行形式
2.quit  #退出
3.\q     #退出
4.Ctrl+c  #强制退出 (8.0中不可以)

MySQL数据库备份与恢复

发表回复

Scroll to top