MySQL參考手冊第7章 資料庫的備份與恢復

2021-06-22 10:53:07 字數 1676 閱讀 1258

1 備份與恢復型別

1.1 物理備份與邏輯備份

物理備份複製儲存資料內容的目錄和檔案,這種方式適合大型及重要的企業資料庫。

邏輯備份儲存生成資料庫及資料的sql語句,這種方式適合少量資料的資料庫。

必須關注合適的鎖機制避免新資料造成不一致

離線備份發生在伺服器關閉時

1.3 本地與遠端備份

本地備份執行與本地伺服器上,而遠端備份則在另外一台裝置上實施。

1.4 全備份與增量備份

全量備份包含了指定時間點時的所有資料,增量備份只包含給定時間段內的部分備份。

1.5 全量還原與增量還原

全量還原指從乙個全備份進行還原。如果此次還原仍不完整,則還需要進行增量備份的還原。

1.6 其他

對於相關需求如備份排程、壓縮及加密會針對不同的需求進行。

2 資料庫備份方法

2.1 mysql企業版的備份

2.2 使用mysqldump與mysqlhotcopy等工具

2.3 複製檔案進行備份

對於myisam引擎的表,可在鎖定表後備份.frm .myd和.myi檔案。

2.4 製作基於文字的備份

可以使用select * into outfile 'filename'在伺服器上建立表的資料備份。

2.5 增量備份

做增量備份需要伺服器上啟用log-bin選項。

2.6 使用檔案系統快照

如果使用veritas檔案系統,可以使用快照來備份資料。

首先鎖定表,flush tables with read lock

然後建立快照,mount vxfs snapshot

解鎖 unlock tables

複製快照中資料

解除安裝snapshot

3 備份與恢復示例

假設備份名為test的資料庫,當前時間為$date

mysqldump --single-transaction --flush-logs --add-drop-database --master-data=2 [--databases] test >$date.sql

在全量備份以後,可以定時將後續新生成的binlog檔案作為增量進行備份儲存

當需要恢復的時

mysql -d test < $date.sql            //全量還原

檢視$date.sql,獲取lsn的值為n

mysqlbinlog -d test --disable-log-bin --start-pos=n mysql-bin.0000*  |mysql  //增量還原

對於mysqldump與mysqlbinlog的使用,參考

第4章。

4 myisam表的維護與崩潰恢復

使用myisamchk -m table對錶檔案進行檢查

若檢查出有問題myisamchk -r table

MySQL中文參考手冊 獲得資料庫和表的信

確保你連線上了伺服器,如在先前的章節討論的。這樣做本身將不選擇任何資料庫來工作,但是那很好。從這點講,知道關於如何出詢問的一點知識,比馬上跳至建立表 給他們裝載資料並且從他們檢索資料要來的重要寫。本節描述輸入命令的基本原則,使用幾個查詢,你能嘗試讓自己mysql是如何工作的。這是乙個簡單的命令,要求...

MySQL中文參考手冊 獲得資料庫和表的信

確保你連線上了伺服器,如在先前的章節討論的。這樣做本身將不選擇任何資料庫來工作,但是那很好。從這點講,知道關於如何出詢問的一點知識,比馬上跳至建立表 給他們裝載資料並且從他們檢索資料要來的重要寫。本節描述輸入命令的基本原則,使用幾個查詢,你能嘗試讓自己mysql是如何工作的。這是乙個簡單的命令,要求...

第2章 MySql資料庫

安裝後,mysql會以windows服務的方式為我們提供資料儲存功能。開啟和關閉服務的操作 右鍵點選我的電腦 管理 服務 可以找到mysql服務開啟或停止。也可以在dos視窗,通過命令完成mysql服務的啟動和停止 必須以管理員身份執行cmd命令視窗 net start mysqlmysql是乙個需...