MySQL數(shù)據(jù)庫(kù)備份基礎(chǔ)知識(shí)匯總
以下的文章主要介紹的是MySQL數(shù)據(jù)庫(kù)備份的基礎(chǔ)知識(shí),我們大家都知道MySQL數(shù)據(jù)庫(kù)是應(yīng)用性算是廣泛,所以MySQL數(shù)據(jù)庫(kù)備份的實(shí)際應(yīng)用就隨之變得廣泛,以下就是具體內(nèi)容的描述,希望在你今后的學(xué)習(xí)中會(huì)有所幫助。
平時(shí)我們?cè)谑褂肕ySQL數(shù)據(jù)庫(kù)的時(shí)候經(jīng)常會(huì)因?yàn)椴僮魇д`造成數(shù)據(jù)丟失,MySQL數(shù)據(jù)庫(kù)備份可以幫助我們避免由于各種原因造成的數(shù)據(jù)丟失或著數(shù)據(jù)庫(kù)的其他問(wèn)題。
一、數(shù)據(jù)備份捷徑
因?yàn)檫@個(gè)方法沒(méi)有得到官方正式文檔的驗(yàn)證,我們暫稱為試驗(yàn)吧。
目的:備份hostA主機(jī)中一個(gè)MySQL數(shù)據(jù)庫(kù)備份TestA,并恢復(fù)到到hostB機(jī)中
試驗(yàn)環(huán)境:
操作系統(tǒng):WinNT4.0,Mysql3.22.34,phpMyAdmin 2.1.0
在hostA中安裝MySQL數(shù)據(jù)庫(kù)備份并建立TestA數(shù)據(jù)庫(kù)
hostB機(jī)安裝MySQL數(shù)據(jù)庫(kù)備份,沒(méi)有TestA數(shù)據(jù)庫(kù)
方法步驟:
啟動(dòng)phpMyAdmin察看HostA和HostB中的數(shù)據(jù)庫(kù)列表,在HostB中沒(méi)有TestA數(shù)據(jù)庫(kù)
找到HostA中MySQL數(shù)據(jù)庫(kù)備份的安裝目錄,并找到數(shù)據(jù)庫(kù)目錄data
在我的試驗(yàn)環(huán)境中,這個(gè)目錄是C:mysqldata
找到對(duì)應(yīng)數(shù)據(jù)庫(kù)名稱的子目錄C:mysqldataTestA
粘貼拷貝到HostB的Data目錄下,是HostA同HostB MySQL數(shù)據(jù)庫(kù)備份數(shù)據(jù)目錄下的文件相同
刷新HostB的phpMyAdmin察看一下數(shù)據(jù)庫(kù)列表,我們看到TestA已經(jīng)出現(xiàn),并且作查詢修改等操作都正常,備份恢復(fù)恢復(fù)成功
試驗(yàn)結(jié)論:MySQL的數(shù)據(jù)庫(kù)可以通過(guò)文件形式保存,備份,恢復(fù)只要將相應(yīng)文件目錄恢復(fù)即可,無(wú)需使用其它工具備份。
二、正規(guī)的方法(官方建議):
導(dǎo)出要用到MySQL數(shù)據(jù)庫(kù)備份的mysqldump工具,基本用法是:
- mysqldump [OPTIONS] database [tables]
如果你不給定任何表,整個(gè)數(shù)據(jù)庫(kù)將被導(dǎo)出。
通過(guò)執(zhí)行mysqldump --help,你能得到你mysqldump的版本支持的選項(xiàng)表。
注意,如果你運(yùn)行mysqldump沒(méi)有--quick或--opt選項(xiàng),mysqldump將在導(dǎo)出結(jié)果前裝載整個(gè)結(jié)果集到內(nèi)存中,如果你正在導(dǎo)出一個(gè)大的數(shù)據(jù)庫(kù),這將可能是一個(gè)問(wèn)題。
mysqldump支持下列選項(xiàng):
--add-locks
在每個(gè)表導(dǎo)出之前增加LOCK TABLES并且之后UNLOCK TABLE。(為了使得更快地插入到MySQL數(shù)據(jù)庫(kù)備份)。
第三步:創(chuàng)建相互的主從關(guān)系
首先在B機(jī)上的my.cnf文件中,在[mysqld]部分中加入log-bin,接著重新啟動(dòng)mysqld,然后創(chuàng)建可在它的上面執(zhí)行復(fù)制功能的用戶帳號(hào),使用:
GRANT FILE ON *.* TO replicate@10.1.1.1 IDENTIFIED BY password;
在B機(jī)上運(yùn)行FLUSH PRIVILEGES命令,以便裝入在加入復(fù)制用戶后的新的授權(quán)表,接著回到A機(jī)上,在它的my.cnf中加入下面幾行:
- master-host=10.1.1.2
- master-user=replicate
- master-password=password
在重啟A機(jī)的服務(wù)程序之后,現(xiàn)在我們一擁有了在A機(jī)與B機(jī)之間的相互主-從關(guān)系。不管在哪個(gè)服務(wù)器上更新一條記錄或插入一條記錄,都將被復(fù)制到另一臺(tái)服務(wù)器上。要注意的是:我不敢確定一個(gè)備機(jī)合并二進(jìn)制日志變化的速度有多快,所以用這種方法來(lái)進(jìn)行插入或更新語(yǔ)句的負(fù)載平衡可能不是一個(gè)好辦法。
【編輯推薦】