MYSQL備份:數據庫
一:單表數據備份:
每次只能備份一張表,只能備份數據,不能備份表結構。
一般的應用:將表中的數據進行導出到文件。
備份:從表中選出一部分數據保存到外部的文件。
語法:(前提:外部文件不存在)
SELECT */字段列表 INTO OUTFILE 文件所在路徑 FROM 數據源;編程
高級備份語法:
本身制定字段和行的處理方式。
字段處理FIELDS:
ENCLOSED BY : 字段使用什麼內容包裹,默認是空字符串''。
TERMINATED BY : 字段以什麼結束,默認是tab鍵'\t'
行處理LIENS:
STARTING BY : 每行以什麼開始,默認是''空字符串
TERMINATED BY : 每行以什麼結束,默認是換行符'\r\n'服務器
SELECT */字段列表 INTO OUTFILE 文件所在路徑
FIELDS
...
LINES
...
FROM 數據源;
示例:
SELECT osd.order_no,
osd.stu_code,
osd.stu_name,
osd.tm_code,
osd.tm_name
INTO OUTFILE 'E:/osdTemp.txt'
FIELDS ENCLOSED BY ''
TERMINATED BY '\t'
LINES STARTING BY ''
TERMINATED BY '\r\n'
FROM order_stu_detail osd
WHERE osd.is_delete = 0;日誌
單表數據還原:
將一個外部保存的數據恢復到表中(若是表不存在,那麼SORRY)
LOAD DATA INFILE 文件路徑 INTO TABLE 表名
FIELDS
...
LINES
...;code
示例:
LOAD DATA INFILE 'E:/osdTemp.txt' INTO TABLE test_t
FIELDS ENCLOSED BY ''
TERMINATED BY '\t'
LINES STARTING BY ''
TERMINATED BY '\r\n';ip
二:SQL備份:
備份的是SQL語句,系統就會對錶結構以及數據進行處理,
編程對應的SQL語句,而後進行備份,還原的時候只要執行
SQL指令就能夠了。字符串
MYSQL自己沒有提供備份的指令。
須要利用MYSQL提供的備份軟件:MYSQLDUMP.EXE指令test
MYSQLDUMP.EXE也是一種客戶端,須要操做服務器,必須進行
鏈接認證。軟件
語法:·
MYSQLDUMP/MYSQLDUMP.EXE -H ip -P 端口 -U 用戶 -P 密碼
數據庫名稱 [數據表1][數據表2]...[數據表n]
> 文件所在路徑語法
整個數據庫備份:
MYSQLDUMP/MYSQLDUMP.EXE -H ip -P 端口 -U 用戶 -P 密碼
數據庫名稱
> 文件所在路徑
SQL還原:
兩種方式:
1.MYSQL客戶端還原:
MYSQL/MYSQL.EXE -H ip -P 端口 -U 用戶 -P 密碼 數據庫名稱 < 備份文件路徑
2.使用SQL指令:SOURCE
語法:SOURCE 文件所在路徑;
SQL備份的以優缺點:
1.優勢:能夠備份表、庫結構。
2.缺點:會浪費空間(增長額外的SQL指令)。
三:增量備份:
不是針對數據或者SQL指令進行備份,
是針對MYSQL服務器的日誌文件進行備份。
增量備份:指定時間段開始備份,備份數據不會重複, 並且全部的操做都會備份。