DQ NO.1 - dragon quest fans club

 找回密碼
 加入成為夥伴
搜索
熱搜: 活動 交友 discuz
查看: 9101|回復: 2

[其它] MYSQL 5.0異地同步備份

[複製鏈接]
發表於 2006-9-28 22:51:41 | 顯示全部樓層 |閱讀模式
本文作用:使用MYSQL內建功能,將兩台MYSQL SERVER的資料,由其中一台同步備份到另外一台

好處:倒站的時候就知道了~

要同步備份的資料庫名稱:LAOZHAO

網路環境介紹:兩台電腦不在同一網域。

MASTER

IP:210.111.222.111(參考IP)
OS :Windows 2003
web:Appserv 2.5.6(MYSQL版本 5.0)

SLAVE

IP:50.123.123.123 (參考IP)
OS :Windows XP SP2
web:Appserv 2.5.6(MYSQL版本 5.0)

打開 my.ini on MASTER
加入


  1. server-id = 1
  2. log-bin
  3. set-variable=binlog-ignore-db=mysql
複製代碼


在MASTER的MYSQL SERVER
新增一名使用者(ID:dqno1  password:11111111),並給予相關權限
參考指令如下:


  1. GRANT FILE,SELECT,REPLICATION SLAVE ON *.* TO dqno1@50.123.123.123 IDENTIFIED BY '11111111';
複製代碼




STOP mysql server on MASTER,接著打包MYSQL底下的data資料夾(參考路徑C:\appserv\mysql\data\),整個用來取代SLAVE上的data資料夾,取代前請先停止SLAVE上的mysql server ,否則可能無法取代。

接著到SLAVE編輯MY.INI,加入這一大串
  1. server-id = 2
  2. master-host = 210.111.222.111 #MASTER IP or domain name or HOSTNAMEmaster-user = dqno1  #username
  3. master-password = 11111111 #userpassword
  4. master-port = 3306 #mysql server port
  5. set-variable=replicate-ignore-db=mysql #不更新的資料庫名稱
  6. set-variable=replicate-do-db=LAOZHAO #要更新的資料庫名稱
複製代碼
接著啟動MASTER及SLAVE上的MYSQL SERVER登入SLAVE的MYSQL,輸入下面指令
  1. mysql>SHOW SLAVE STATUS\G;
複製代碼


注意這三行狀態若是如下,表示已經完成設定。
  1. Slave_IO_State: Waiting for master to send event
  2. Slave_IO_Running: Yes
  3. Slave_SQL_Running: Yes
複製代碼


請自行注意防火牆相關設定

TIP:設定途中,如發現SLAVE的MY.INI中設定檔設定錯誤,修改後,RESTART MYSQL仍無效果,請自行修改C:\AppServ\MySQL\data底下的master.info,再重啟MYSQL即可

該死的滑鼠害我這篇文章重打三次,每次重打中文字增多,到最後變成這付德行 ,連帶一些詳細的說明也不想打了,其他參數自行參考官方文件吧~

參考文章:
http://www.phpmore.com/?a=review_display&id=17
http://imysql.cn/?q=node/61
 樓主| 發表於 2006-9-29 11:28:35 | 顯示全部樓層
單向同步完成之後...
接下來要搞的當然就是雙向同步..
沒想到剛剛看到一篇....
= =原來雙向同步的方法就是那麼愚蠢.....
只要把兩台MYSQL同時設為MASTER及SLAVE..
讓兩台互相把對方當作MASTER..........
真的有那麼簡單嘛?
下午來玩玩看.....
回復 支持 反對

使用道具 舉報

 樓主| 發表於 2006-10-19 13:56:04 | 顯示全部樓層

補充,雙向同步備份~

做法:
STOP  兩台MYSQL
分別刪除C:\AppServ\MySQL\data底下的master.info
將兩台皆設為Master & Slave

example:
HOST1

  1. server-id = 1
  2. log-bin
  3. set-variable=binlog-ignore-db=mysql
  4. master-host = 210.111.222.111 #HOST2 IP
  5. master-user = dqno1  #username
  6. master-password = 11111111 #userpassword
  7. master-port = 3306 #mysql server port
  8. set-variable=replicate-ignore-db=mysql #不更新的資料庫名稱
  9. set-variable=replicate-do-db=LAOZHAO #要更新的資料庫名稱
複製代碼



HOST2

  1. server-id = 2
  2. log-bin
  3. set-variable=binlog-ignore-db=mysql
  4. master-host = 210.111.222.xxx #HOST1 IP
  5. master-user = dqno1  #username
  6. master-password = 11111111 #userpassword
  7. master-port = 3306 #mysql server port
  8. set-variable=replicate-ignore-db=mysql #不更新的資料庫名稱
  9. set-variable=replicate-do-db=LAOZHAO #要更新的資料庫名稱
複製代碼


重新啟動~
回復 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 加入成為夥伴

本版積分規則

Archiver|手機版|ぱふぱふ屋|DQ NO.1

GMT+8, 2024-4-20 08:13 , Processed in 0.038641 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回復 返回頂部 返回列表