整库数据备份与还原
整库数据备份也叫SQL数据备份:备份的结果都是SQL指令
在mysql中提供了一个专门用于备份sql的客户端:mysqldump.exe
应用场景
SQL备份是一种mysql非常常见的备份与还原方式,SQL备份不只是备份数据,还备份对应的SQL指令(包含数据与表结构):即便是数据库遭到毁灭性的破坏(数据库被删),那么利用sql备份依然可以实现数据还原
sql备份因为需要备份结构,因此产生的备份文件特别大,因此不适合特大型数据备份,也不适合数据变化频繁型数据库备份
应用方案
SQL备份
sql备份用到的是专门的备份客户端,因此还没与数据库服务器进行连接
基本语法
mysqldump/mysqldump.exe -hPup 数据库名字【表1 【表2。。。】】 >备份文件地址
注:
- 此时在windowsCMD环境下,而不是在sql,所以不需要语法的分号。
- -h,-P可省略
备份可以有三种方式
- 整库备份(只需要提供数据库名字)
- 单表备份:数据库后面跟一张表
- 多表备份:数据库后跟多张表
查看备份的成果
查看备份文件中的具体内容
数据还原
mysql提供了多种方式来实现:两种
mysqldump备份的数据中没有关于数据库本身的操作,都是针对表级别的擦欧总:当进行数据(sql还原),必须指定数据库
利用mysql.exe客户端
- 利用mysql.exe客户端:没有登录之前,可以直接用改客户端进行数据还原
mysql.exe-hPup数据库 <文件位置导入SQL指令
在sql指令,提供了一种导入SQL指令的方式
source SQL 文件位置; //必须先进入对应的数据库人为操作:打开备份文件,复制所以SQL指令,然后到mysql.exe客户端中粘贴执行(不推荐)类似第二种
本机动手操作:
D:\php\PHPTutorial\MySQL\binmysqldump.exe -uroot -proot mydatabase >C:\Users\华\Desktop\my\mydatabase.sql//CMD命令备份
drop database mydatabase;//sql指令删除了数据库mydatabase
开始还原:
create database mydatabase; //sql指令先创建数据库
D:\php\PHPTutorial\MySQL\bin\mysql.exe -uroot -proot mydatabase < C:\Users\华\Desktop\my\mydatabase.sql //cmd命令行下还原
还原成功