整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

MySQL——使用mysqldump备份与恢复数据

目录

前言:和binlog都可以作为MySQL数据库备份的方式:

和binlog的主要区别如下:

数据格式:生成的备份文件是以文本形式保存的SQL语句,可以读取和修改。binlog则是以二进制格式保存的事务日志,不能直接查看或修改,需要专门的工具(如)进行解析和分析。备份范围:可以备份整个数据库或特定的表,以及备份时可以选择备份的数据内容(例如只备份表结构、只备份数据等)。而binlog会记录所有的更改操作,包括对表结构和数据的更改,因此可以用来恢复到任何一个时间点之前的状态。使用场景:适用于定期完整备份数据库或移植数据库,以便将数据导入到不同的MySQL服务器。binlog则适用于增量备份和恢复,可以用于故障恢复、数据同步、主从复制等场景。

通过binlog恢复数据传送门:通过binlog恢复数据

1.简介

命令可以将数据库中指定或所有的库、表导出为SQL脚本。表的结构和表中的数据将存储在生成的SQL脚本中。

备份恢复原理:通过先查出需要备份的库及表的结构,在SQL脚本中生成CREATE语句。然后将表中的所有记录转换成INSERT语句并写入SQL脚本中。这些CREATE语句和INSERT语句都是还原时使用的:还原数据时可使用其中的CREATE语句来创建表,使用INSERT语句还原数据。

环境准备:如下图所示,共准备了和两个数据库,每个数据库中都有两个表和(未演示,同),每个表中各有一条数据。

数据库使用工具_mysql数据库工具软件_mysql数据库设计工具

2.备份数据

备份的形式可以分为以下4种:

备份所有数据库(包含库中所有表及数据)备份一个/多个数据库(包含库中所有表及数据)备份指定库中的指定表(指定表及其数据)

下面将分别介绍如何实现这3种形式的数据备份。

2.1备份所有数据库

语法: -u[用户名] -p[密码] --all- >/备份路径/备份文件名.sql

#备份全部数据库
mysqldump -uroot -p123456 --all-databases > backup_all_databases.sql

-uroot-p123456 登录MySQL的用户名/密码

--all- >

mysql数据库工具软件_mysql数据库设计工具_数据库使用工具

.sql 备份文件的名称,可加保存路径

2.2备份一个/多个数据库

语法: -u[用户名] -p[密码] -- DB1 [DB2 DB3...] > /备份路径/备份文件名.sql

#备份一个数据库
mysqldump -uroot -p123456 --databases database_test1 > backup_database_test1.sql
#备份多个数据库
mysqldump -uroot -p123456 --databases database_test1 database_test2 > backup_database_test1_test2.sql

-uroot-p123456 登录MySQL的用户名/密码

--

要备份的数据库,多个以空格间隔

backup_*.sql 备份文件的名称,可加保存路径

mysql数据库工具软件_mysql数据库设计工具_数据库使用工具

2.3 备份指定库中的指定表

语法: -u[用户名] -p[密码][] [table1][table2] >/备份路径/备份文件名.sql

#备份库中的部分表
mysqldump -uroot -p123456 database_test1 table_test1 table_test2 > backup_tables.sql

-uroot-p123456 登录MySQL的用户名/密码

要备份表所在的库名

数据库使用工具_mysql数据库设计工具_mysql数据库工具软件

> 要备份的表名,可以有多个,以空格分割

.sql 备份文件的名称,可加保存路径

mysql数据库设计工具_数据库使用工具_mysql数据库工具软件

查看备份文件中的内容:

#查看其中一个备份文件
cat backup_tables.sql | grep -v "^--" |grep -v "^/" |grep -v "^$"

cat

1.sql 要查看的文件

| grep -v "^--" |grep -v "^/" |grep -v "^$" 过滤不显示的信息(grep为搜索,-v表示忽略)

mysql数据库设计工具_数据库使用工具_mysql数据库工具软件

3.恢复数据

环境准备:登录mysql数据库后删除和

#登录mysql后删除database
drop database database_test1;
drop database database_test2;

mysql数据库设计工具_mysql数据库工具软件_数据库使用工具

3.1 恢复数据库

备份所有数据库和备份指定库的恢复逻辑相同

语法:mysql -u[用户名] -p[密码]