MySQL備份恢復資料的一般步驟

2021-06-05 06:31:56 字數 1620 閱讀 9549

下面是備份乙個資料庫的例子:

1、備份前讀鎖定涉及的表

mysql>lock tables tbl1 read,tbl1 read,…

如果,你在mysqldump

實用程式中使用

--lock-tables

選項則不必使用如上

sql語句。

2、匯出資料庫中表的結構和資料

shell>mysqldump --opt db_name>db_name.sql

3、啟用新的更新日誌

shell>mysqladmin flush-logs

這樣可以記錄你備份後的資料改變為恢復資料準備。

4、解除表的讀鎖

mysql>unlock tables;

為了加速上述過程,你可以這樣做:

shell> mysqldump --lock-tables --opt db_name>db_name.sql; mysqladmin flush-logs

但是這樣可能會有點小問題。上命令在啟用新的更新日誌前就恢復表的讀鎖,

在更新繁忙的站點,可能有備份後的更新資料沒有記錄在新的日誌中。

現在恢復上面備份的資料庫

1、對涉及的表使用寫鎖

mysql>lock tables tbl1 write,tbl1 write,…

2、恢復備份的資料

shell>mysql db_name < db_name.sql

3、恢復更新日誌的內容

shell>mysql --one-database db_name < hostname.nnn

假設需要使用的日誌名字為hostname.nnn

4、啟用新的更新日誌

shell>mysqladmin flush-logs

5、解除表的寫鎖

mysql>unlock tables;

希望上面的例子能給你啟發,因為備份資料的手法多種多樣,你所使用的和上面所述可能大不一樣,但是對於備份和恢復中,表的鎖定、啟用新的更新日誌的時機應該是類似的,仔細考慮這個問題。

思考題請在完成這些思考題之前,啟用常規日誌和更新日誌,因為下面的思考題將涉及到這個問題。

1、使用帶有帶有

--all-databases

選項的mysqldump

實用程式,備份你現有的所有資料到乙個檔案

all.sql

中(如果你的資料不太多的話),檢視輸出的

sql語句。

2、使用帶有

--ab

選項的mysqldump

,把你的

test

資料庫中的表結構和資料分別備份到乙個目錄中。檢查一下生成的

sql語句與上題中備份檔案中的有什麼不同。

3、建立乙個新的資料庫

test1

,把上題的備份檔案恢復到該資料庫中。請簡述一下過程。

4、檢視你的更新日誌和常規日誌,看看上述操作是否都留下了記錄以及留下了什麼記錄。

5、先在

test

資料庫中的任意乙個表中

insert

乙個記錄,然後在刪除這個記錄。(目的是在更新日誌中留下記錄。)刪除資料庫

test1

,試試如何從更新日誌恢復

test1

資料庫。

MYSQL 備份恢復資料

mysql命令列匯出資料庫 1,進入mysql目錄下的bin資料夾 cd mysql中到bin資料夾的目錄 如我輸入的命令列 cd c program files mysql mysql server 4.1 bin 或者直接將windows的環境變數path中新增該目錄 2,匯出資料庫 mysql...

mysql的日誌和備份 恢復資料

查詢日誌 2.慢查詢日誌 3.二進位制日誌 vim etc my.cnf 開啟 log bin mysql bin binlog日誌,即binary log,是二進位制日誌檔案,有兩個作用,乙個是增量備份,另乙個是主從複製,即主節點維護乙個binlog日誌檔案,從節點從binlog中同步資料,也可以...

MySql 備份與恢復資料庫

以下內容與上篇文章有些許關聯,如有需要請閱讀上篇文章 mysql 增刪改查 crud 以及亂碼編碼解決 2 1.備份 如果當前在運算元據庫,那麼請先退出使用命令 quit 然後使用命令 mysqldump u root p mydb2 c mydb2.sql 該句 的意思就是把資料庫 mydb2 備...