文档介绍:第
8
章
MySQL
数据库备份与恢复
基本概念
常用的备份恢复方法
日志文件
1
、备份
petstore
数据库中的
orders
表中数据
到
D
盘。要求字段值如果是字符就用双引号
标注,字段值之间用逗号隔开,每行以“?
”为结束标志。
2.
将该备份文件的数据导入到
bk_orders
表中
。
3.
启用日志文件,做增删改查操作后,查看日
志文件,并尝试用日志文件恢复数据库。
基本概念
数据库中的数据丢失或被破坏可能是由以下原因造成:
(
1
)计算机硬件故障。由于使用不当或产品质量等原因,计算机硬件可能
会出现故障,不能使用。如硬盘损坏会使得存储于其上的数据丢失。
(
2
)软件故障。由于软件设计上的失误或用户使用的不当,软件系统可能
会误操作数据引起数据破坏。
(
3
)病毒。破坏性病毒会破坏系统软件、硬件和数据。
(
4
)误操作。如用户误使用了诸如
DELETE
、
UPDATE
等命令而引起数据丢
失或破坏。
(
5
)自然灾害。如火灾、洪水或地震等,它们会造成极大的破坏,会毁坏
计算机系统及其数据。
(
6
)盗窃。一些重要数据可能会遭窃。
常用的备份恢复方法
使用
SQL
语句
SELECT INTO…OUTFILE
格式:
SELECT * INTO OUTFILE 'file_name' export_options
| DUMPFILE 'file_name'
其中,
export_options
为:
[FIELDS
[TERMINATED BY 'string']
[[OPTIONALLY] ENCLOSED BY 'char']
[ESCAPED BY 'char' ]
]
[LINES TERMINATED BY 'string' ]
使用
SQL
语句
使用
OUTFILE
时,可以在
export_options
中加入以下两个自选的子句,它
们的作用是决定数据行在文件中存放的格式:
?
?
FIELDS
子句:在
FIELDS
子句中有三个亚子句:
TERMINATED BY
、
LINES
子句:在
LINES
子句中使用
TERMINATED BY
指定一行结束的标志,
[OPTIONALLY] ENCLOSED BY
和
ESCAPED BY
。
如“
LINES TERMINATED BY '?'
”表示一行以“
?
”作为结束标志。
如果
FIELDS
和
LINES
子句都不指定,则默认声明以下子句:
FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'
LINES TERMINATED BY '\n'
使用
SQL
语句
LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE
''
[REPLACE | IGNORE]
INTO TABLE tbl_name
[FIELDS
[TERMINATED BY 'string']
[[OPTIONALLY] ENCLOSED BY 'char']
[ESCAPED BY 'char' ]
]
[LINES
[STARTING BY 'string']
[TERMINATED BY 'string']
]
[IGNORE number LINES]
[(col_name_or_user_var
,...)]
[SET col_name = expr
,...)]
LOAD DATA …INFILE
格式:
使用
SQL
语句
说明:
?
?
?
LOW_PRIORITY | CONCURRENT
:若指定
LOW_PRIORITY
,则延迟语
LOCAL
:若指定了
LOCAL
,则文件会被客户主机上的客户端读取,并被发
file_name
:待载入的文件名,文件中保存了待存入数据库的数据行。
句的执行。
送到服务器。
table
新表名
as
(
select * fr