close
寫在前面!!
CASE需要能夠同步更新兩台電腦的資料庫
好在一台掛掉時!!能夠隨即連另一台電腦作業
因為我用的資料庫是mysql
又今天在網路上看到有人寫著一篇關於MYSQL自己提供的自動備份功能
依樣畫葫蘆去作!!結果是不能用
於是今天晚上就在error錯誤檔與google神中來回奔波!!
總算!讓我試出一個可以用的解法了XD
其實原本的網路那篇是可以用的!!可是版本不一樣了XD
所以才不行!!
我用的mysql版本是5.0,OS--windowXP SP2
不是這個版本,請不要相信我的方法可以用XD
=======================================
window環境中,
打開my.ini文件(my.ini檔作為mysql伺服器的配置檔)。
設置方法:
主從模式:A->B
設置範例環境:
A ip:10.10.10.22
B ip:10.10.10.53
A設定
1.增加一個用戶最為同步的用戶帳號:
GRANT REPLICATION SLAVE ON *.* TO backup@'10.10.10.53' IDENTIFIED BY '1234'
(在4.0版本以前,REPLICATION SLAVE ==> FILE)
修改A 成master
mysql的my.ini文件。在mysqld配置項中加入下面配置:
====================
server-id=1
log-bin={log檔資料夾位置}
#設置需要記錄log 可以設置log-bin=c:mysqlbakmysqllog 設置日誌檔的目錄,
#其中mysqllog是日誌檔的名稱,mysql將建立不同副檔名,檔案名為mysqllog的幾個日誌檔。
binlog-do-db=backup #指定的資料庫(假設是backup)
binlog-do-db=...
==========================================
重開mysql。
在mysql下,用show master status 命令看日誌情況,如果可以代表成功。
B設定為slave
修改B mysql的my.ini文件。在mysqld配置項中加入下面配置:
===========================================
server-id=2
master-host=10.10.10.22
master-user=backup #同步用戶帳號
master-password=1234
master-port=3306
master-connect-retry=60 #預設重試間隔60秒
replicate-do-db=backup #告訴slave只做backup資料庫的更新
============================================
重開mysql。
在mysql下,用show slave status看同步配置情況,如果可以代表成功。
ps:由於設置了slave的配置資訊,mysql在資料庫目錄下生成master.info(在data中)。
所以如有要修改相關slave的配置要先刪除該檔。否則修改的配置不能生效。
ps2:當有錯誤產生時*.err日誌檔(在data中),同步的排程就不停止
當解決錯誤後,要繼續進行同步,在bin下打
mysqladmin -uroot -p{密碼} start-slave
ps3...其實不是很想寫這種沒有意義技術文章!!多寫了些今天的笑話的
遺憾!!今天除了這痛苦折磨人的事情外,想不出什麼有趣的事情了XD
CASE需要能夠同步更新兩台電腦的資料庫
好在一台掛掉時!!能夠隨即連另一台電腦作業
因為我用的資料庫是mysql
又今天在網路上看到有人寫著一篇關於MYSQL自己提供的自動備份功能
依樣畫葫蘆去作!!結果是不能用
於是今天晚上就在error錯誤檔與google神中來回奔波!!
總算!讓我試出一個可以用的解法了XD
其實原本的網路那篇是可以用的!!可是版本不一樣了XD
所以才不行!!
我用的mysql版本是5.0,OS--windowXP SP2
不是這個版本,請不要相信我的方法可以用XD
=======================================
window環境中,
打開my.ini文件(my.ini檔作為mysql伺服器的配置檔)。
設置方法:
主從模式:A->B
設置範例環境:
A ip:10.10.10.22
B ip:10.10.10.53
A設定
1.增加一個用戶最為同步的用戶帳號:
GRANT REPLICATION SLAVE ON *.* TO backup@'10.10.10.53' IDENTIFIED BY '1234'
(在4.0版本以前,REPLICATION SLAVE ==> FILE)
修改A 成master
mysql的my.ini文件。在mysqld配置項中加入下面配置:
====================
server-id=1
log-bin={log檔資料夾位置}
#設置需要記錄log 可以設置log-bin=c:mysqlbakmysqllog 設置日誌檔的目錄,
#其中mysqllog是日誌檔的名稱,mysql將建立不同副檔名,檔案名為mysqllog的幾個日誌檔。
binlog-do-db=backup #指定的資料庫(假設是backup)
binlog-do-db=...
==========================================
重開mysql。
在mysql下,用show master status 命令看日誌情況,如果可以代表成功。
B設定為slave
修改B mysql的my.ini文件。在mysqld配置項中加入下面配置:
===========================================
server-id=2
master-host=10.10.10.22
master-user=backup #同步用戶帳號
master-password=1234
master-port=3306
master-connect-retry=60 #預設重試間隔60秒
replicate-do-db=backup #告訴slave只做backup資料庫的更新
============================================
重開mysql。
在mysql下,用show slave status看同步配置情況,如果可以代表成功。
ps:由於設置了slave的配置資訊,mysql在資料庫目錄下生成master.info(在data中)。
所以如有要修改相關slave的配置要先刪除該檔。否則修改的配置不能生效。
ps2:當有錯誤產生時*.err日誌檔(在data中),同步的排程就不停止
當解決錯誤後,要繼續進行同步,在bin下打
mysqladmin -uroot -p{密碼} start-slave
ps3...其實不是很想寫這種沒有意義技術文章!!多寫了些今天的笑話的
遺憾!!今天除了這痛苦折磨人的事情外,想不出什麼有趣的事情了XD
全站熱搜
留言列表