数据备份
数据备份有2种 一种是物理备份 一种是逻辑备份
物理备份
物理备份 通过把数据文件复制出来 达到备份的目的 用得比较少
逻辑备份
逻辑备份 把描述数据库结构和内容的信息保存起来 达到备份的目的 是免费的
数据备份工具 mysqldump (3种模式)
1)备份数据库中的表
mysqldump -h 服务器 -u 用户 -p 密码 数据库名称 [表名称...] > 备份文件名称
-h如果省略,默认是本机localhost
如下表示备份本机数据库服务器上demo数据库中的表的所有信息
mysqldump -u root -p demo table1 > test.sql
备份文件以文本的形式保存
2)备份整个数据库
mysqldump -h 服务器 -u 用户 -p 密码 --database 数据库名称... > 备份文件名
如下表示备份本机的数据库服务器中的两个数据库demo和demo1
mysqldump -u root -p --databases demo demo1 > test1.sql
3)备份整个数据库服务器
mysqldump -h 服务器 -u 用户 -p 密码 --all-databases > 备份文件名
如下表示备份本机上整个mysql服务器
mysqldump -u root -p ==all-databases > test2.sql
数据恢复 (2种方法)
方式1:使用mysql命令行客户端工具进行数据恢复
由于备份文件test.sql里面只有数据表的备份信息 需要指定恢复到哪个数据库中
mysql -u root -p demo < test.sql
方式2:使用source语句进行数据恢复
source 备份文件名称
如下将备份的表进行恢复
1)首先使用正确的数据库
use demo;
source test.sql;
2)导入导出表里的数据
导出表里的数据
select 字段列表 into outfile 文件名称
fields terminated by 字符
lines terminated by 字符
from 表名;
fields terminated by 字符 表示列之间的分隔符是 字符
lines terminated by 字符 表示行之间的分隔符是 字符
例如 导出表1
select * into outfile 'D:/all_table'
fields terminated by ','
lines terminated by '\n'
from demo.table1;
系统提示错误
这个文件夹只能导出到my.ini文件中指定的文件夹 所以要将导出的目录进行修改
导入表里的数据
load data infile 文件名
into table 表名
fields terminated by 字符
lines terminated by 字符
例如 导入商品信息表
load data infile 'D:/test2' into table demo.table1
fields terminated by ','
lines terminated by '\n';