8種手動和自動備份MySQL數據庫的方法

做爲流行的開源數據庫管理系統,MySQL的使用者衆多,爲了維護數據安全性,數據備份是必不可少的。本文就爲你們介紹幾種適用於企業的數據備份方法。mysql

使用MySQLDump進行MySQL備份sql

mysqldump是MySQL內置的工具,容許用戶將數據庫指定不一樣的選項備份到文件、服務器,甚至是壓縮gzip文件中。mysqldump實用程序靈活,快速,可執行高級備份,並接受各類命令行參數,用戶可經過這些參數來更改備份數據庫的方式。shell

Windows操做系統中的c:mysqlbin和Unix / Linux系統的/usr/local/mysql/bin中可找到mysqldump實用程序,將不一樣的參數傳遞給mysqldump實用程序,就能夠如下形式使用。數據庫

mysqldump ---user [user name] ---password= [password]安全

[database name] > [dump file]bash

手動備份,只須要MySQL數據庫的密碼,使用p選項做爲密碼,將命令發送到mysqldump。例如,要備份全部數據庫,請使用all databases:服務器

Mysqldump –u USER –p –all-databases> /mnt/backups/all多線程

使用MySQLpump進行MySQL備份工具

MySQLpump相似於mysqldump,生成支持並行化的邏輯備份。MySQLpump以並行方式爲多個數據庫執行全部與轉儲相關的操做,這大大減小了執行邏輯備份所花費的時間。ui

可是,MySQLpump不備份performance_schema,sys schema和ndbinfo,所以您必須使用 – databases來命名它們,它也不會轉儲用戶賬戶定義。

Shell> mysqlpump –exclude-databases=% --users

使用AutoMySQLBackup進行MySQL備份

AutoMySQLBackup能夠備份服務器上的數據庫,不管是單個、多個仍是全部數據庫。每一個數據庫都保存在一個單獨的文件中,能夠壓縮該文件。如何執行呢?只需下載一個文件bash腳本,保存並根據本身的喜愛自定義,使其可執行。

手動運行腳本:./automysqlbackup.sh.2.5

因爲此腳本不支持將備份文件夾保存到遠程位置,所以可能須要安裝遠程空間或使用其餘技術遠程上傳文件。

使用mydumper進行MySQL備份

Mydumper是一個實用的軟件程序,能夠保證快速可靠的多線程MySQL備份過程。衆所周知,Mydumper能夠很好地處理大型數據庫,提供並行性。用戶須要建立以下所示的備份,而後將變量($)替換實變量,壓縮文件夾並將其放在首選位置。

Mydumper

--database=$DB_NAME

--host=$DB_HOST

--user=$DB_PASS

--rows=500000

--compress

--build-empty-files

--compress-protocol

快速和自動備份

MySQL自動備份與ottomatik

Ottomatik使用備用降落傘爲您的MySQL數據庫提供了極好的備份解決方案。Ottomatik支持雲或本地服務器,經過安裝腳本,它會自動安裝鏈接到Linux服務器的SSH密鑰,還能夠爲備份做業選擇多個服務器。

使用PHPMyAdmin進行MySQL備份

PHPMyAdmin是一個流行的應用程序,用於管理MySQL數據庫,能夠無償使用。不少服務提供商都使用PHPMyAdmin,有可能你本身都安裝了卻不自知。

備份數據庫所須要作的就是打開PHPMyAdmin,選擇文件或文件夾,而後單擊「導出」連接,另外,也有「另存爲」和「壓縮」等在本地保存數據的選項。

使用文件系統快照進行MySQL備份

可使用Veritas,LVM或ZFS等文件系統進行系統快照。要使用文件系統快照,從客戶端程序執行具備讀鎖定的刷新表,而後從另外一個shell執行運行mount vxfs snapshot。從第一個客戶端解鎖表,而後將文件從快照複製到目標文件夾,稍後卸載快照。

經過複製表文件進行備份

經過將表文件複製爲*.MYD,*.MYI文件來備份MyISAM表,使用時須要中止服務器或鎖定並刷新相關表:

FLUSH TABLES tbl_list WITH READ LOCK;

在數據庫中複製文件時,讀鎖容許其餘客戶機繼續查詢表,而刷新則確保在備份過程以前將全部活動索引頁寫入磁盤。

不管徹底備份仍是增量備份,MySQL數據庫備份都是必不可少的,並且隨着數據庫大小的增長,您可能還須要更改備份策略。

相關文章
相關標籤/搜索