標籤:... 時間 rom 將不 符號 資料庫名 memory dump 檔案
一、有三種備份方式:
1. 資料表檔案備份
2. 單表資料備份
3. SQL備份
4. 增量備份
二、mysql中的儲存引擎
主要有兩種:myisam 和 innodb. -- 免費的
其他收費的還有:BDB, Memory, Archive
innodb的儲存方式:表結構單獨存放,所有資料都儲存在ibdata1檔案中。
myisam的儲存方式:表、資料和索引全部單獨分開儲存。
二、資料表檔案備份與還原
直接複製資料庫目錄下的檔案夾複製對應的表結構和資料檔案,還原的時候直接放回去即可。
但是此方法根據不同的儲存引擎有不同的區別:
innodb下,因為除了表結構外其他資料都在ibdata1檔案中,所以還原到本來的資料庫可以,跨資料庫時表將不能使用。
myisam下,因為表、資料和索引全部單獨分開儲存,所以只需要複製這三個檔案,就可以在任意資料庫進行還原使用。
三、單表資料備份與還原
1. 資料備份
每次只能備份一張表,且只能備份資料,不能備份表結構。通常用於匯出資料到檔案。
select */欄位列表 into outfile ‘檔案路徑‘ [fields 欄位處理 lines 行處理] from 資料來源; -- 檔案不存在才能匯出
fields欄位處理:
enclosed by: 欄位使用什麼內容包裹,預設為‘‘;
terminated by: 欄位使用什麼內容結束,預設為‘\t‘;
escaped by: 特殊符號用什麼方式處理,預設‘\\‘ 反斜線轉義;
lines行處理:
starting by: 每行以什麼開始,預設為‘‘;
terminated by: 每行以什麼結束,預設為分行符號;
樣本:
1 select * into outfile ‘D:\BaiduNetdiskDownload\mysql\class.sql‘ 2 fields terminated by ‘---‘ enclosed by ‘"‘ 3 lines starting by ‘be:‘ terminated by ‘ed\r\n‘4 from my_class;
2. 資料還原
必須保證表結構存在,才能進行資料還原。
lode data infile ‘檔案路徑‘ into table 表名 fields 欄位處理 lines 行處理; -- 怎麼備份的,就怎麼還原
樣本:
1 load data infile ‘D:\BaiduNetdiskDownload\mysql\class.sql‘ into table my_class2 fields terminated by ‘---‘ enclosed by ‘"‘ 3 lines starting by ‘be:‘ terminated by ‘ed\r\n‘;
三、 SQL備份
1.資料備份
備份的是SQL語句,需要使用mysql提供的mysqldump.exe軟體。
mysqldump/mysqldump.exe -hPup 資料庫名 [表名1[,表名2...]] > 外部檔案路徑 -- 可以多表備份, 如果不寫表名,表示整庫備份
mysqldump -uroot -p jdbc my_student > D:\BaiduNetdiskDownload\mysql\student.sql -- 單表備份 mysqldump -uroot -p jdbc> D:\BaiduNetdiskDownload\mysql\jdbc.sql -- 整庫備份
2. 資料還原
① 使用mysql用戶端還原:
mysql.ext/mysql -hPup 資料庫名< 備份檔案路徑
mysql -uroot -p jdbc < D:\BaiduNetdiskDownload\mysql\student.sql
②使用SQL指令還原:
source 備份檔案路徑;
source D:\BaiduNetdiskDownload\mysql\student.sql;
四、增量備份
此方式針對mysql伺服器的記錄檔進行備份,可以指定時間段進行備份,因此備份資料不會重複,並且中間的操作過程也會備份。
mysql中的資料備份與還原