MySQL學習筆記 備份和恢復

2021-06-02 00:41:43 字數 1861 閱讀 2666

為了得到乙個一致的備份,在相關的表上做乙個lock tables,你只需乙個讀鎖定,當你在資料庫目錄中做檔案的乙個拷貝時,這允許其他執行緒繼續查詢該錶;

當你恢復資料時,需要乙個寫鎖定,以避免衝突。

1、使用sql語句進行備份和恢復——這種方法只能匯出資料的內容,不包括表的結構,如果表的結構檔案損壞,你必須要先恢復原來的表的結構。

備份:select into outfile

假定表tbl_name具有乙個primary key或unique索引,備份乙個資料表的過程如下:

(1)、鎖定資料表,避免在備份過程中,表被更新

mysql>lock tables read tbl_name;

(2)、匯出資料

mysql>select * into outfile 『tbl_name.bak』 from tbl_name;

(3)、解鎖表

mysql>unlock tables;

恢復:需要具備使用檔案的許可權

load data infile

相應的恢復備份的資料的過程如下:

(1)、為表增加乙個寫鎖定:

mysql>lock tables tbl_name write;

(2)、恢復資料

mysql>load data infile 『tbl_name.bak』

->replace into table tbl_name;

如果,你指定乙個low_priority關鍵字,就不必如上要對錶鎖定,因為資料的匯入將被推遲到沒有客戶讀表為止:

mysql>load data low_priority infile 『tbl_name』

->replace into table tbl_name;

(3)、解鎖表

mysql->unlocak tables;

2、使用mysqlimport恢復資料

(用在shell裡面,待理解)

2、 使用mysqldump備份資料(可以備份資料庫的表結構,可以備份乙個完整的資料庫)

a)如果你執行mysqldump沒有--quick或--opt選項,mysqldump將在匯出結果前裝載整個結果集到記憶體中,如果你正在匯出乙個大的資料庫,這將可能是乙個問題。

mysqldump --opt database > backup-file.sql

//把資料庫匯入到backup-file.sql

mysqladmin create target_db_name

//建立新的資料庫target_db_name

mysql target_db_name < backup-file.sql

//匯入資料到target_db_name

mysqldump [options] database [tables]

netstat -an  

mysqldump -ukzczuser -pkzcz --opt --default-character-set=utf8 smsota ums_module, ums_role_module, ums_reg, ums_role > ums.bos

shell> mydqldump db_name>db_name.bak

shell>mysql -u root –pmypass db_name>db_name.sql

4、直接拷貝mysql資料庫檔案:myd、myi、frm

mysql備份和恢復 mysql備份和恢復

目標 備份和恢復的3種方法,掌握mysqldump命令匯出資料,source命令匯入資料 備份必要性 重要資料不丟失 資料轉移 mysqldump客戶端 作用 轉儲資料庫 搜尋資料庫進行備份 將資料轉移到另乙個sql伺服器 不一定是mysql伺服器 mysqldump h 主機名 u使用者名稱 p ...

mysql備份和恢復

mysql恢復和備份 mysqldump u root p 備份資料庫名 備份的檔名 mysql uroot p 資料庫名 備份檔案名 另外 etc mysql my.cnf 檔案裡面引數需要修改,才可以匯入比較大的資料 預設情況下如果安裝程式的字符集沒有變動的話 匯入匯出需要新增字符集,例如如果新...

MySQL學習筆記(27) 備份與恢復

本文更新於2020 05 03,使用mysql 5.7,作業系統為deepin 15.4。目錄表資料匯入匯出 mysql的備份分為邏輯備份和物理備份,物理備份分為冷備份和熱備份。恢復分為完全恢復和不完全恢復,不完全恢復又分為基於時間點的恢復和基於位置的恢復。使用mysqldump進行邏輯備份,如my...