mysql數據備份與恢復實現方法分析
本文實例講述了mysql數據備份與恢復實現方法。分享給大家供大家參考,具體如下:
本文內容: 復制文件法 利用mysqldump 利用select into outfile 其它(列舉但不介紹)首發日期:2018-04-19
有些時候,在備份之前要先做flush tables ,確保所有數據都被寫入到磁盤中。
復制文件法: 對于myisam存儲引擎的數據庫,它的表結構(.frm)、數據(.myd)和索引(.myi)都單獨成文件,可以直接復制這三個文件到備份空間就可以成功備份了。 至于還原,只需要把三個文件復制回某個數據庫目錄下即可。利用mysqldump:適用情況:本質上是把表結構和數據還原成sql語句,所以可以備份表結構
備份: 單表備份:mysqldump -u用戶名 -p 數據庫名 表名 > 備份文件路徑 多表備份:mysqldump -u用戶名 -p 數據庫名 表名1 [其他表名] > 備份文件路徑 單個數據庫備份:mysqldump -u用戶名 -p 數據庫名 > 備份文件路徑 多個數據庫備份:mysqldump -u用戶名 -p --databases 數據庫名1 數據庫名2 [其他數據庫] > 備份文件路徑 備份所有數據庫:mysqldump -u用戶名 -p --all --databases > 備份文件路徑還原: mysqldump -u用戶名 -p密碼 [數據庫名] < 備份文件路徑 【指定數據庫時代表只恢復指定數據庫的備份,不指定為恢復備份文件中所有內容】補充: mysqldump還可以僅僅導出表數據【不過考慮到有select into outfile了,這里就不介紹了】利用select into outfile:適用情況:單表數據備份,只能復制表數據,不能復制表結構。
備份: 語法:select *字段列表 from 數據源 into outfile 備份文件目標路徑 [fields 字段處理] [lines 行處理]; 【備份文件目標路徑中文件必須不存在】 fields 字段處理是可選的,是每個字段的數據如何存儲,有以下即可小選項 enclosed by:以什么字符來包裹數據,默認是空字符 terminated by :以什么字符作為字段數據結尾,默認是t,退格符 escaped by: 特殊符號用什么方法處理,默認是'' optionally enclosed by:以什么字符來包裹數據類型為字符串的數據。 語法:select * from class into outfile 'd:c1.txt' fields enclosed by ’-’;select * from class into outfile 'd:c1.txt' fields enclosed by ’-’ optionally enclosed by '’';lines 行處理是可選的 starting by :每行以什么開始,默認是空字符串 terminated by :每行記錄以什么結束,默認是“n” 語法:
select * from class into outfile 'd:c.txt' lines starting by ’start:’;select * from class into outfile 'd:c1.txt' lines starting by ’start:’ terminated by ’ n’;
注意:在5.7新增了一個特性,secure_file_priv,它會限制數據的導出,secure-file-priv參數是用來限制LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE()傳到哪個指定目錄的。
需要在my.ini中設置才能正常導出數據。
更多關于MySQL相關內容感興趣的讀者可查看本站專題:《MySQL索引操作技巧匯總》、《MySQL常用函數大匯總》、《MySQL日志操作技巧大全》、《MySQL事務操作技巧匯總》、《MySQL存儲過程技巧大全》及《MySQL數據庫鎖相關技巧匯總》
希望本文所述對大家MySQL數據庫計有所幫助。
相關文章:
