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






















