小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Replication in MySQL...

 農(nóng)夫子oice 2007-04-28

Replication in MySQL

MySQL 在 3.23.29 版以後, 已提供了資料覆寫 (Replication) 功能, 設(shè)定的方法很簡(jiǎn)單:

※範(fàn)例環(huán)境說明:

  • Linux OS
  • MySQL 資料庫(kù)路徑: /var/lib/mysql
  • MySQL 設(shè)定檔: /etc/my.cnf
  • Master IP: 192.168.1.1
  • Slave IP: 192.168.1.2
  • 要進(jìn)行資料同步的資料庫(kù): abc

※Master 的設(shè)定說明:

Step 1. 確認(rèn) Master 與 Slave 機(jī)器上所安裝的 MySQL 版本是否為 3.23.29 或更高的版本.
#rpm -q mysql
Step 2. 在 MySQL 開放一個(gè)帳號(hào)給 Slave:
#mysql -u root -p
mysql>grant file on *.* to repl@192.168.1.2 identified by ‘a(chǎn)bc123‘;
*註
mysql>quit

*註: MySQL 4.0.2 以後的版本, 請(qǐng)將 GRANT FILE 改為 GRANT REPLICATION SLAVE.

Step 3. 停止 MySQL:
#/etc/rc.d/init.d/mysqld stop #mysqladmin -u root -p shutdown
Step 4. 使用 tar 指令, 將 abc 資料庫(kù)備份到 /tmp:
#cd /var/lib/mysql
#tar -zcpf /tmp/mysql_snapshot.tar.gz ./abc
請(qǐng)注意 tar 指令加了參數(shù) p, 將檔案權(quán)限一併記錄起來, 解壓縮的時(shí)候才不用再變更檔案屬性.
Step 5. 修改 /etc/my.cnf, 在 [mysqld] 區(qū)段內(nèi)加入以下參數(shù):
server-id=1
log-bin
sql-bin-update-same
binlog-do-db=abc
(針對(duì) abc 這個(gè) database 做記錄)
Step 6. 啟動(dòng) MySQL:
#/etc/rc.d/init.d/mysqld start
此時(shí)因?yàn)橛屑尤?log-bin 參數(shù), 因此開始有 index 產(chǎn)生了, 在 /var/lib/mysql 目錄下可以發(fā)現(xiàn) .index 檔案記錄資料庫(kù)的異動(dòng) log.
Step 7. 將備份資料庫(kù)檔案複製到 Slave 機(jī)器上:
#scp /tmp/mysql_snapshot.tar.gz root@192.168.1.2:/tmp

※Slave 的設(shè)定說明:

Step 1. 停止 MySQL:
#/etc/rc.d/init.d/mysqld stop #mysqladmin -u root -p shutdown
Step 2. 修改 /etc/my.cnf, 在 [mysqld] 區(qū)段加入以下參數(shù):
server-id=2
log-slave-updates
replicate-do-db=abc
(告訴 slave 只做 abc 資料庫(kù)的更新)
master-host=192.168.1.1
master-user=repl
master-password=abc123
master-port=3306
master-connect-retry=60
(預(yù)設(shè)重試間隔 60 秒)
Step 3. 解開 Master 備份好的資料庫(kù)檔案:
#cd /var/lib/mysql
#tar -zxf /tmp/mysql_snapshot.tar.gz
如果解出來的檔案、目錄權(quán)限不對(duì)的話, 記得要用 chown、chmod 修正.
Step 4. 啟動(dòng) MySQL:
/etc/rc.d/init.d/mysqld start
此時(shí), 在 /var/lib/mysql 目錄裡會(huì)出現(xiàn) master.info, 這個(gè)檔案記錄了 Master MySQL Server 的資訊.

以上步驟完成後, 只要在 Master 異動(dòng) abc 資料庫(kù)的資料, Slave 的 abc 資料庫(kù)亦會(huì)跟著變更; 如果 Slave 掛點(diǎn), 不影響 Master 的運(yùn)作, 待 Slave 恢復(fù)後, 會(huì)自動(dòng)進(jìn)行覆寫的動(dòng)作.

如果 Slave 重新啟動(dòng)後, 覆寫功能並未恢復(fù)者, 將 /var/lib/mysql 裡的 *.index 與 *.001, .002... 都刪除掉後, 再重新啟動(dòng) Master 與 Slave 的 MySQL 即可.

若要讓兩臺(tái)機(jī)器同時(shí)具備 Master 與 Slave 的功能, 只要在兩臺(tái)機(jī)器都執(zhí)行 Master 的 Step 2. (mysql grant command), 然後將上述 Master 與 Slave 的設(shè)定都寫入 /etc/my.cnf 即可. 要注意的是 server-id 一定要錯(cuò)開, 不能使用相同的 server-id. 這樣不管是在哪臺(tái)機(jī)器異動(dòng)資料, 都會(huì)互相進(jìn)行覆寫的動(dòng)作.

※參考資料:

Posted by Jamyy at 2004年12月27日 11:17

Trackback Pings

TrackBack URL for this entry:
http://cha./cgi-bin/mt/mt-tb.cgi/31

Comments

我想請(qǐng)問一下喔
因?yàn)槲野惭b4.1.12的版本on Linux
可是我都找不到my.cnf
請(qǐng)問這檔案到底在哪裡呢?

請(qǐng)幫我解惑一下!!!

Posted by: Jessie at 2005年06月10日 13:55

您可以在 /usr/share/mysql 路徑中找到 *.cnf
只要將其中一個(gè) .cnf 檔複製成 /etc/my.cnf 即可
如: cp /usr/share/mysql/my-small.cnf /etc/my.cnf

Posted by: Jamyy at 2005年06月13日 09:19

Thanks !!!
感動(dòng)收到你的回應(yīng)~~~
後來我也是這樣解決問題的...真是感謝!
因?yàn)槲抑胺凵俳佑|MySQL,最近被指派建立相關(guān)MySQL資料庫(kù)
我最近安裝幾臺(tái)電腦時(shí),有遇到2個(gè)問題,可否順便請(qǐng)問一下:
[1]就是那臺(tái)電腦本來就有安裝MySQL 3.2.23 (後面序號(hào)我有點(diǎn)忘記,反正就是3系列的)
那我要安裝4.1.12版本時(shí),使用rpm安裝
他說版本有衝突
我使用rpm -Uvh 還是不行
因此我就使用 rpm -e 把舊版本拿掉
然後再使用rpm -ivh 把4.1.12的版本安裝
安裝過程正常
可是使用時(shí),會(huì)發(fā)生一個(gè)現(xiàn)象
>mysql -u root -p
mysql> use mysql
程式記憶體發(fā)生錯(cuò)誤
可是後來我使用my.cnf的設(shè)定檔案後,就不會(huì)發(fā)生了?
請(qǐng)問這現(xiàn)象是因?yàn)槲沂褂胷pm安裝新舊檔案讀寫有異常嗎?
還是我都要使用source install (tar ball) 才會(huì)可以避掉這些現(xiàn)象呢?
[2]因?yàn)槟銓懺O(shè)定replication粉完整
請(qǐng)問使用source install on linux有沒有哪裡可以找到完整步驟的啊?可以給我點(diǎn)建議嗎?因?yàn)槲覐膩頉]有自己make過檔案安裝ㄋㄟ

Thanks ^^

ps :到首頁(yè)才發(fā)現(xiàn)你出去玩ㄋ...幸福唷!!!

Posted by: Jessie at 2005年06月13日 11:54

呵, 謝謝~ ^^

1) 我在 FC3 試了一下, 不過沒遇見您說的情況. source install 和 rpm install 只是安裝程序上的不同而已, 不會(huì)造成功能或 bug 上的差異.

2) 其實(shí) source install 並沒有一定的步驟, 因?yàn)槊總€(gè)套件的安裝方式都不太一樣, 要看解包出來的 INSTALL 說明檔才能知道要怎麼安裝. 不過一般常見的步驟是:
./configure
make
make install

Posted by: Jamyy at 2005年06月13日 22:25

Thanks ~~~
希望我的MySQL會(huì)給我乖乖的跑著
不要再出什麼亂狀況給我~~~
我還有幾臺(tái)機(jī)器要安裝,到時(shí)再練習(xí)看看使用source install
因?yàn)椴皇菍B毊?dāng)DBA
每次安裝設(shè)定完..都有點(diǎn)小心虛
不知道會(huì)有沒有遺漏的設(shè)定
還是感謝大大你的回應(yīng)啦~~~~

Posted by: Jessie at 2005年06月14日 09:37

好像還要加上grant replication 到 master server:

e.g. :mysql> GRANT REPLICATION SLAVE ON *.* TO ‘repl‘@192.168.1.2 IDENTIFIED BY ‘a(chǎn)bc123‘;

thanks!

Posted by: Eric Ko at 2006年04月06日 12:30

謝謝您的提醒

原來在 MySQL 4.0.2 以前, 是用 GRANT FILE 的語(yǔ)法;
4.0.2 以後是用 GRANT REPLICATION SLAVE 來處理.

參考資料:
http://dev./doc/refman/4.1/en/replication-howto.html

Posted by: Jamyy at 2006年04月06日 16:27

from:  http://cha./blog/archives/2004/12/replication_in.html#more

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多