整库数据备份与还原
整库数据备份也叫做SQL
数据备份:备份的结果是SQL
指令。
在MySQL
中提供了一个专门用于备份SQL
的客户端:mysqldump
应用场景
SQL
备份是一种MySQL
非常常见的备份与还原方式,SQL
备份不只是备份数据,还备份对应的SQL
指令(表结构):即便是数据库遭到毁灭性的破坏(数据库被删除),那么利用(SQL
)备份依然可以实现数据还原。
SQL
备份因为需要备份表结构,因此产生的备份文件特别大,因此不适合特大型数据备份,也不适合数据变换频繁型数据库备份。
应用方案
SQL
备份
SQL
备份用到的是专门的备份客户端,因此还没有与数据库进行连接
基本语法:mysqldump -hPup 数据库名字 [表1 [表2...]] > 备份文件地址
备份可以有三种形式
-
整库备份(只需要提供数据库名字)
mysqldump -hlocalhost -P3306 -uroot -p12345678 mydatabase2 > /Users/lucky/Documents/dev/Java\ web/mysql/back.sql
-
单表备份:数据库后面跟一张表
-
多表备份:数据库后面跟多张表
mysqldump -hlocalhost -P3306 -uroot -p12345678 mydatabase2 my_student my_class > /Users/lucky/Documents/dev/Java\ web/mysql/back1.sql
查看备份文件中的具体内容
数据还原
MySQL
提供了多种方式来实现:
mysqldump
备份的数据数据中没有关于数据库本身的操作,都是针对表级别的操作:当进行数据库还原时,必须指定数据库
-
利用
mysql
客户端:没有登录之前,可以直接用该客户端进行数据还原mysql -hPrp 数据库 < 备份文件
create database mydb charset=utf8; use mydb; show tables;
mysql -hlocalhost -P3306 -uroot -p12345678 mydb < /Users/lucky/Documents/dev/Java\ web/mysql/back.sql
-
在
SQL
指令,提供了一种导入SQL
指定的方式source 备份文件
-
人为操作:打开备份文件 复制所有
SQL
指令然后到mysql
客户端去执行(不推荐)