![3fd8810da62b6c216858318d32a8df61.png](https://img-blog.csdnimg.cn/img_convert/3fd8810da62b6c216858318d32a8df61.png)
简介:
备份的是建表、建库、插入等操作所执行SQL语句,适用于中小型数据库,效率相对较低。
本质:导出的是sql语句文件
优点:不论是什么存储引擎,都可以用mysqldump备成SQL语句
缺点:速度较慢,导入时可能会出现格式不兼容的突发情况,无法做增量备份和累计增量备份。
提供三种级别的备份,表级,库级和全库级
Mysqldump备份及恢复
1.常用备份选项
-A :(all databases)备份所有库
-B:(database bbs test mysql)备份多个数据库
-d:( no-data)不导出任何数据,只导出数据库表结构
2.备份及恢复库
(1)备份库
语法格式:mysqldump -u用户名 -p'密码' 数据库名 > 备份文件名.sql
备份所有库:mysqldump -u用户名 -p'密码' -A > 备份文件名.sql
mysqldump -uroot -p'QianFeng@1234' -A > allbase.sql
备份多个库:mysqldump -u用户名 -p'密码' -B db1 db2 db3 > db123.sql
mysqldump -uroot -p'QianFeng@1234' -B db1 db2 db3 >db123.sql
(2)恢复库
mysql -u用户名 -p'密码' 数据库名 < 备份文件名.sql
mysql -uroot -p'QianFeng@1234' school < school.sql
(3)实验
备份数据库school:mysqldump -uroot -p'QianFeng@1234' school > school.sql
删除数据库:drop database school;
准备一个空库:create database school;
恢复数据库:mysql -uroot -p'QianFeng@1234' school < school.sql
查看student表存在
2.备份及恢复表
(1)备份表
语法格式:mysqldump -u用户名 -p'密码' 数据库名 表名 > 备份文件名.sql
备份多个表:mysqldump -u用户名 -p'密码' 数据库名 表1 表2 > 备份文件名.sql
语法格式:mysqldump -u用户名 -p'密码' 数据库名 表名 > 备份文件名.sql
(2)恢复表
方法一:语法格式:mysql -u用户名 -p'密码' 库名 < 备份文件名.sql
方法二:数据库中操作:source 备份文件(路径要对) 恢复到对应的库中
(3)实验
备份school中student表
mysqldump -uroot -p'QianFeng@1234' school student > sutdent.sql
删除student表
drop table student;
恢复student表到school数据库中
mysql -uroot -p'QianFeng@1234' school < student.sql
mysql里恢复,表恢复到school库中
进入school数据库
source student.sql
3.备份及恢复表结构
(1)备份表结构
语法格式:mysqldump -u用户名 -p'密码' -d 库名 表名 > 备份文件名.sql
(2)恢复表结构
语法格式: mysql -u用户名 -p'密码' -D 库名 < 备份文件名.sql
(3)实验
备份school库中student表结构
mysqldump -uroot -p'QianFeng@1234' -d school student >student.sql
恢复student表结构到bbs数据库中
mysql -uroot -p'QianFeng@1234' -D bbs < student.sql