8種手動和自動備份MySQL數(shù)據(jù)庫的方法
作為流行的開源數(shù)據(jù)庫管理系統(tǒng),MySQL的使用者眾多,為了維護(hù)數(shù)據(jù)安全性,數(shù)據(jù)備份是必不可少的。本文就為大家介紹幾種適用于企業(yè)的數(shù)據(jù)備份方法。
使用MySQLDump進(jìn)行MySQL備份
mysqldump是MySQL內(nèi)置的工具,允許用戶將數(shù)據(jù)庫指定不同的選項(xiàng)備份到文件、服務(wù)器,甚至是壓縮gzip文件中。mysqldump實(shí)用程序靈活,快速,可執(zhí)行高級備份,并接受各種命令行參數(shù),用戶可通過這些參數(shù)來更改備份數(shù)據(jù)庫的方式。
Windows操作系統(tǒng)中的c:mysqlbin和Unix / Linux系統(tǒng)的/usr/local/mysql/bin中可找到mysqldump實(shí)用程序,將不同的參數(shù)傳遞給mysqldump實(shí)用程序,就可以以下形式使用。
mysqldump ---user [user name] ---password= [password] [database name] > [dump file]
手動備份,只需要MySQL數(shù)據(jù)庫的密碼,使用p選項(xiàng)作為密碼,將命令發(fā)送到mysqldump。例如,要備份所有數(shù)據(jù)庫,請使用all databases:
Mysqldump –u USER –p –all-databases> /mnt/backups/all
使用MySQLpump進(jìn)行MySQL備份
MySQLpump類似于mysqldump,生成支持并行化的邏輯備份。MySQLpump以并行方式為多個數(shù)據(jù)庫執(zhí)行所有與轉(zhuǎn)儲相關(guān)的操作,這大大減少了執(zhí)行邏輯備份所花費(fèi)的時間。
但是,MySQLpump不備份performance_schema,sys schema和ndbinfo,因此您必須使用 – databases來命名它們,它也不會轉(zhuǎn)儲用戶帳戶定義。
Shell> mysqlpump –exclude-databases=% --users
使用AutoMySQLBackup進(jìn)行MySQL備份
AutoMySQLBackup可以備份服務(wù)器上的數(shù)據(jù)庫,無論是單個、多個還是所有數(shù)據(jù)庫。每個數(shù)據(jù)庫都保存在一個單獨(dú)的文件中,可以壓縮該文件。如何執(zhí)行呢?只需下載一個文件bash腳本,保存并根據(jù)自己的喜好自定義,使其可執(zhí)行。
手動運(yùn)行腳本:./automysqlbackup.sh.2.5
由于此腳本不支持將備份文件夾保存到遠(yuǎn)程位置,因此可能需要安裝遠(yuǎn)程空間或使用其他技術(shù)遠(yuǎn)程上傳文件。
使用mydumper進(jìn)行MySQL備份
Mydumper是一個實(shí)用的軟件程序,可以保證快速可靠的多線程MySQL備份過程。眾所周知,Mydumper可以很好地處理大型數(shù)據(jù)庫,提供并行性。用戶需要創(chuàng)建如下所示的備份,然后將變量($)替換實(shí)變量,壓縮文件夾并將其放在首選位置。
Mydumper
--database=$DB_NAME
--host=$DB_HOST
--user=$DB_PASS
--rows=500000
--compress
--build-empty-files
--compress-protocol
快速和自動備份
MySQL自動備份與ottomatik
Ottomatik使用備用降落傘為您的MySQL數(shù)據(jù)庫提供了極好的備份解決方案。Ottomatik支持云或本地服務(wù)器,通過安裝腳本,它會自動安裝連接到Linux服務(wù)器的SSH密鑰,還可以為備份作業(yè)選擇多個服務(wù)器。
使用PHPMyAdmin進(jìn)行MySQL備份
PHPMyAdmin是一個流行的應(yīng)用程序,用于管理MySQL數(shù)據(jù)庫,可以免費(fèi)使用。很多服務(wù)提供商都使用PHPMyAdmin,有可能你自己都安裝了卻不自知。
備份數(shù)據(jù)庫所需要做的就是打開PHPMyAdmin,選擇文件或文件夾,然后單擊“導(dǎo)出”鏈接,另外,也有“另存為”和“壓縮”等在本地保存數(shù)據(jù)的選項(xiàng)。
使用文件系統(tǒng)快照進(jìn)行MySQL備份
可以使用Veritas,LVM或ZFS等文件系統(tǒng)進(jìn)行系統(tǒng)快照。要使用文件系統(tǒng)快照,從客戶端程序執(zhí)行具有讀鎖定的刷新表,然后從另一個shell執(zhí)行運(yùn)行mount vxfs snapshot。從第一個客戶端解鎖表,然后將文件從快照復(fù)制到目標(biāo)文件夾,稍后卸載快照。
通過復(fù)制表文件進(jìn)行備份
通過將表文件復(fù)制為*.MYD,*.MYI文件來備份MyISAM表,使用時需要停止服務(wù)器或鎖定并刷新相關(guān)表:
FLUSH TABLES tbl_list WITH READ LOCK;
在數(shù)據(jù)庫中復(fù)制文件時,讀鎖允許其他客戶機(jī)繼續(xù)查詢表,而刷新則確保在備份過程之前將所有活動索引頁寫入磁盤。
無論完全備份還是增量備份,MySQL數(shù)據(jù)庫備份都是必不可少的,而且隨著數(shù)據(jù)庫大小的增加,您可能還需要更改備份策略。
總結(jié)
以上所述是小編給大家介紹的8種手動和自動備份MySQL數(shù)據(jù)庫的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
MySQL 5.7.19安裝目錄下創(chuàng)建my.ini文件的方法
這篇文章給大家簡單介紹了MySQL 5.7.19安裝目錄下創(chuàng)建my.ini文件的方法,需要的的朋友參考下吧2017-08-08mysql like 特殊字符搜索的實(shí)現(xiàn)
在MySQL中,LIKE操作符用于在查詢數(shù)據(jù)時進(jìn)行模糊匹配,本文主要介紹了mysql like 特殊字符搜索的實(shí)現(xiàn),具有一定的參考價值,感興趣的可以了解一下2023-09-09django2.2版本連接mysql數(shù)據(jù)庫的方法
這篇文章主要介紹了django2.2版本如何連接mysql數(shù)據(jù)庫,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-10-10解決mysql創(chuàng)建數(shù)據(jù)庫后出現(xiàn):Access denied for user ''root''@''%'' to dat
這篇文章主要給大家介紹了如何解決mysql在創(chuàng)建數(shù)據(jù)庫后出現(xiàn):Access denied for user 'root'@'%' to database 'xxx'的錯誤提示,文中介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。2017-05-05mysql查詢昨天 一周前 一月前 一年前的數(shù)據(jù)
這篇文章主要介紹了mysql查詢昨天 一周前 一月前 一年前的數(shù)據(jù)的方法,需要的朋友可以參考下2014-05-05