top
Loading...
教你MySQL數據庫的主從及雙機備份

花了半天時間研究了下下MYSQL的備份實現,發現其是在MY.CNF(MY.INI)配置文件中作的設置,直接設置服務器唯一性ID號加上其它的附加設置,則可作為一臺MASTER,而在SLAVE機上,也只需要在配置文件中設置一下連接MASTER所需的參數即可,如果在MASTER里也加上連到SLAVE機的參數,則就是雙向備份了~~不過,這些連接參數中用到的賬號需要注意權限的設置,否則會搞半天沒反就急死你迪。。。

我在WIN上和LINUX上各裝了MYSQL5,下面是它們的配置:

WIN(172.22.33.33)下的MASTER(由于我改了端口3327所以下面多加了個端口方面的特殊處理了)的配置(my.ini):(**一定要在mysqld配置段中配置,不象PHP,APACHE可以隨便找個方便的地方配的,注意哈!!)

[mysqld]#master 設置server-id=1log-bin=c:/masterlogbinlog-do-db=db5

#實現雙機備份段,給MASTER同時加上SLAVE段,可選哈,如果不選,那就是WIN到LIN的主從備份

master-host=172.22.1.37master-user=backup2master-password=backup2master-port=3306master-connect-retry=60replicate-do-db=db5

數據庫中加一個賬號:

GRANT FILE,REPLICATION SLAVE,REPLICATION CLIENT,SUPER ON *.* TO backup@'172.22.1.37' IDENTIFIED by 'backup';

這個權限表示,這個backup賬號只能由從備份機172.22.1.37訪問只能用來進行備份操作

LINUX(172.22.1.37)下的SLAVE機的配置(把安裝目錄里找到的任意一個*.cnf拷到/etc/my.cnf下進行修改):

server-id=2#如果不需要雙向備份下面兩行可以不要#否則還要加一個數據庫用戶賬號/*GRANT FILE,REPLICATION SLAVE,REPLICATION CLIENT,SUPER ON *.* TO backup2@'172.22.33.33' IDENTIFIED by 'backup2';*/log-bin=./masterlogbinlog-do-db=db5#---------------------------------------master-host=172.22.33.33master-user=backupmaster-password=backupmaster-port=3327master-connect-retry=60replicate-do-db=db5

由于只是大概的弄了一下,特別是在數據庫用戶方面沒有作仔細試驗:),可能會有所不太準確的地方,還有就是,上面測試用到的數據庫一定要是已經建立好并且結構相同的,兩臺機子都重啟后會進行檢查,如果出現找不到或者檢查到結構不同,會報錯,最好就是在創建空數據庫時或初始時安裝兩個一樣的數據庫后就建立好關系,對于不同版本的MYSQL,官方說明也可以同步,但想一想,把MYSQL5 的數據備份到4中去丟失5的特性也沒什么意義吧。。

作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗