花了半天時間研究了下下MYSQL的備份實現(xiàn),發(fā)現(xiàn)其是在MY.CNF(MY.INI)配置文件中作的設置,直接設置服務器唯一性ID號加上其它的附加設
置,則可作為一臺MASTER,而在
SLAVE機上,也只需要在配置文件中設置一下連接MASTER所需的參數(shù)即可,如果在MASTER里也加上連到SLAVE機的參數(shù),則就是雙向備份
了~~不過,這些連接參數(shù)中用到的賬號需要注意權限的設置,否則會搞半天沒反就急死你迪。。。
我在WIN上和LINUX上各裝了MYSQL5,下面是它們的配置:
WIN(172.22.33.33)下的MASTER(由于我改了端口3327所以下面多加了個端口方面的特殊處理了)的配置(my.ini):(**一定要在mysqld配置段中配置,不象PHP,APACHE可以隨便找個方便的地方配的,注意哈!!)
[mysqld]
#master 設置
server-id=1
log-bin=c:/masterlog
binlog-do-db=db5
#實現(xiàn)雙機備份段,給MASTER同時加上SLAVE段,可選哈,如果不選,那就是WIN到LIN的主從備份
master-host=172.22.1.37
master-user=backup2
master-password=backup2
master-port=3306
master-connect-retry=60
replicate-do-db=db5
數(shù)據(jù)庫中加一個賬號:
GRANT FILE,REPLICATION SLAVE,REPLICATION CLIENT,SUPER ON *.*
TO [email=backup@]backup@'172.22.1.37'[/email] IDENTIFIED by 'backup';
這個權限表示,這個backup賬號只能由從備份機172.22.1.37訪問只能用來進行備份操作
LINUX(172.22.1.37)下的SLAVE機的配置(把安裝目錄里找到的任意一個*.cnf拷到/etc/my.cnf下進行修改):
server-id=2
#如果不需要雙向備份下面兩行可以不要
#否則還要加一個數(shù)據(jù)庫用戶賬號
/*
GRANT FILE,REPLICATION SLAVE,REPLICATION CLIENT,SUPER ON *.*
TO [email=backup2@]backup2@'172.22.33.33'[/email] IDENTIFIED by 'backup2';
*/
log-bin=./masterlog
binlog-do-db=db5
#---------------------------------------
master-host=172.22.33.33
master-user=backup
master-password=backup
master-port=3327
master-connect-retry=60
replicate-do-db=db5
由于只是大概的弄了一下,特別是在數(shù)據(jù)庫用戶方面沒有作仔細試驗:),可能會有所不太準確的地方,還有就是,上面測試用到的數(shù)據(jù)庫一定要是已經(jīng)建立好并且
結構相同的,兩臺機子都重啟后會進行檢查,如果出現(xiàn)找不到或者檢查到結構不同,會報錯,最好就是在創(chuàng)建空數(shù)據(jù)庫時或初始時安裝兩個一樣的數(shù)據(jù)庫后就建立好
關系,對于不同版本的MYSQL,官方說明也可以同步,但想一想,把MYSQL5 的數(shù)據(jù)備份到4中去丟失5的特性也沒什么意義吧。。
文章來源:
http://blog.163.com/ccbobo_cat/blog/static/32099462200952335921779
posted on 2009-06-23 15:59
C.B.K 閱讀(219)
評論(0) 編輯 收藏