MySQL数据备份

MySQL 数据备份是⼀个⾮常重要的⼯作,保证数据的安全性和可靠性。有很多种实现方法,包括逻辑备份、物理备份、全备份和增量备份,以下为逻辑备份方式,其他方式大伙感兴趣的可以查阅更多资料。

我是使用mysqldump工具来备份mysql数据库的,这是MySQL提供的原生的逻辑备份工具,该工具可以生成sql文件,包括文件的表和数据的语句,所以可以用来备份整个数据库实例、单个数据库或单张表。

在终端命令行运行

mysqldump -u [username] -p [database_name] > [backup_file].sql

其中,[username] 是 MySQL ⽤户名,[database_name] 是需要备份的数据库名称,[backup_file].sql 是备份的 ⽂件名。 该命令会将 SQL 脚本⽂件导出到当前⽬录下。

注意:mysqldump命令必须在cmd窗口下执行,不能登录到mysql服务中执行

如果需要备份多个数据库,需要使用 [ --databases ] 参数,必须指定至少一个数据库名,多个数据库名称隔开,格式如下

mysqldump -u username -P --databases dbname1 dbname2 ... > filename.sql

备份所有数据库,不需要指定数据库名称

mysqldump -u username -P --all-databases>filename.sql

username 表示MySQL用户名称;

dbname 表示需要恢复的数据库名称;

filename.sql 表示备份文件的名称。

以上命令会将SQL脚本文件导出到当前目录下。

恢复备份

MySQL数据库

如果需要恢复之前备份的数据,可以运⾏以下命令:

mysql -u [username] -p [database_name] < [backup_file].sql

该命令会将备份⽂件中的 SQL 语句执⾏,从⽽将数据恢复到指定的数据库中。如果backup_file.sql文件是mysqldump 命令创建的包含创建数据库语句的文件,则执行时不需要指定数据库名。

如果指定的数据库名不存在将会报错;

示例

数据库的username列表值如下:

mysqldump备份数据库所需权限 使用mysqldump备份数据库_java

在cmd命令行输入一下以下命令备份文件

mysqldump备份数据库所需权限 使用mysqldump备份数据库_java_02

可以看到生成对应文件名的sql脚本文件

mysqldump备份数据库所需权限 使用mysqldump备份数据库_数据库_03

手动给null赋值“a,b,c,d”

mysqldump备份数据库所需权限 使用mysqldump备份数据库_oracle_04

执行恢复文件操作

mysqldump备份数据库所需权限 使用mysqldump备份数据库_mysqldump备份数据库所需权限_05

可以看到“abcd”由于是备份后才做的更改,所以恢复备份数据后,记录恢复。

mysqldump备份数据库所需权限 使用mysqldump备份数据库_数据库_06