MySQL数据库8(十七)数据库的备份还原
数据备份与还原
意义
1、提高系统的可用性和灾难可恢复性,在数据库系统崩溃的时候,没有数据库备份就没法找到数据。
2、使用数据库备份还原数据库是数据库系统崩溃时提供数据恢复最小代价的最优方案,如果让客户重新填报数据,代价那就太大了。
3、没有数据就没有一切,数据库备份就是一种防范灾难于未然的强力手段,没有了数据,应用再花哨也是镜中花水中月。
整库备份与还原
整库数据备份也叫SQL数据备份,备份的结果都是SQL指令
在mysql中提供了一个专门用于备份SQL的客户端:mysqldump.exe
应用场景
SQL备份是一种mysql非常常见的备份与还原方式,SQL备份不只是备份数据,还备份对应的SQL指令(表结构),即便是数据库遭到毁灭性的破坏(数据库被删除),那么利用SQL备份依然可以实现数据还原。
SQL备份因为需要备份结构,因此产生的备份文件特别大,因此不适合特大型数据备份,也不适合数据变换频繁性的数据库备份
应用方案
SQL备份
SQL备份用到的是专门的备份客户端,因此还没有与数据库服务器进行连接。
基本语法:mysqldump/ mysqldump.exe -hPup 数据库名字 [表1 [表2 …]] > 备份文件地址
-hPup:ip地址 端口 用户 密码
备份可以有三种形式:
1、整库备份(只需要提供数据库名字)
2、单表备份:数据库后面跟一张表
3、多表备份:数据库后面跟多张表
查看备份文件
数据还原
Mysql提供了多种方式来实现,两种:
Mysqldump备份的数据中没有关于数据库本身的操作,都是针对表级别的操作,当进行数据(SQL还原),必须指定数据库
1、利用mysql.exe客户端,没有登录之前,可以直接用该客户端进行数据还原
mysql.exe -hPup 数据库 < 文件位置
2、在SQL指令,提供了一种导入SQL指令的方式
source SQL文件位置;//必须先进入到对应的数据库
3、人为操作:打开备份文件,备份所有SQL指令,然后到mysql.exe 客户端中去粘贴执行(不推荐)