MYSQL經常使用三種備份方式

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服務器的日誌文件進行備份。

增量備份:指定時間段開始備份,備份數據不會重複, 並且全部的操做都會備份。

相關文章
相關標籤/搜索