MySQL數據庫的備份與維護詳解

備份數據

像所有數據一樣,MySQL的數據也必須經常備份。由于MySQL數據庫是基于磁盤的文件,普通的備份系統和例程就能備份MySQL的數據。但是,由于這些文件總是處于打開和使用狀態,普通的文件副本備份不一定總是有效。

下面列出這個問題的可能解決方案。

1.使用命令行實用程序 mysqldump 轉儲所有數據庫內容到某個外部文件。在進行常規備份前這個實用程序應該正常運行,以便能正確地備份轉儲文件。

2.可用命令行實用程序 mysqlhotcopy 從一個數據庫復制所有數據(并非所有數據庫引擎都支持這個實用程序)。

3.可以使用MySQL的 BACKUP TABLE 或 SELECT INTO OUTFILE 轉儲所有數據到某個外部文件。這兩條語句都接受將要創建的系統文件名,此系統文件必須不存在,否則會出錯。數據可以用 RESTORETABLE 來復原。

首先刷新未寫數據 為了保證所有數據被寫到磁盤(包括索引數據),可能需要在進行備份前使用 FLUSH TABLES 語句。

進行數據庫維護

MySQL提供了一系列的語句,可以(應該)用來保證數據庫正確和正常運行。

以下是你應該知道的一些語句。

1.ANALYZE TABLE ,用來檢查表鍵是否正確。 ANALYZE TABLE 返回如下所示的狀態信息:

輸入:

ANALYZE?TABLE?orders;

輸入:

MySQL數據庫的備份與維護詳解

2.CHECK TABLE 用來針對許多問題對表進行檢查。在 MyISAM 表上還對索引進行檢查。 CHECK TABLE 支持一系列的用于 MyISAM 表的方式。CHANGED 檢查自最后一次檢查以來改動過的表。 EXTENDED 執行最徹底的檢查, FAST 只檢查未正常關閉的表, MEDIUM 檢查所有被刪除的鏈接并進行鍵檢驗, QUICK 只進行快速掃描。如下所示, CHECK TABLE 發現和修復問題:

輸入:

CHECK?TABLE?orders,orderitems;

輸出:

MySQL數據庫的備份與維護詳解

3.如果 MyISAM 表訪問產生不正確和不一致的結果,可能需要用REPAIR TABLE 來修復相應的表。這條語句不應該經常使用,如果需要經常使用,可能會有更大的問題要解決。

4.如果從一個表中刪除大量數據,應該使用 OPTIMIZE TABLE 來收回所用的空間,從而優化表的性能。

【相關推薦】

Mysql免費視頻教程

2.?Mysql免費視頻教程

3.?Mysql免費視頻教程

4.?Mysql免費視頻教程

5.?Mysql免費視頻教程

? 版權聲明
THE END
喜歡就支持一下吧
點贊10 分享