MySQL雙向複製簡單配置步驟

來源:互聯網
上載者:User

MySQL從3.23版本起就已經內建了複製(Replication)的功能,我們可以配置成master-slave模式,也可以配置為master-master模式。方法很簡單,這裡就master-master的配置簡單的記錄下來,我這裡測試環境是mysql 5.1.31,一個是自己用原始碼編譯的,一個是用的xampp1.7裡內建的。

首先找到兩個版本相同的資料庫伺服器,最好是版本相同,或者差別太大(一個是3.x,一個是5.x,那估計沒戲)。假設資料庫的設定檔是/etc/my.cnf,我們假定A機的IP地址是192.168.0.1,B機的IP地址是192.168.0.2


我們在A機上給出一個授權使用者,允許B機的某個帳號擁有來擷取要複製資料庫的權利,這裡假設針對所有的資料庫都有複製的權利

mysql>grant file,replication slave on *.* to replicate@192.168.0.2 identified by ‘password’;

這樣我們就建立了一個replicate的帳號,密碼是password。同樣的方法在B機上也給A機一個授權

mysql>grant file,replication slave on *.* to replicate@192.168.0.1 identified by ‘password’;

接下來就是要修改設定檔了,首先開啟A機的/etc/my.cnf檔案,在[mysqld]一段裡,增加或者修改下面這些變數

server-id=1
log-bin=mysql-bin

master-host=192.168.0.2
master-user=replicate
master-password=password

儲存退出。
同樣的方法在B機上也做一遍,類似如下:

server-id=2
log-bin=mysql-bin

master-host=192.168.0.1
master-user=replicate
master-password=password

要注意,server-id千萬別衝突了,當然,如果衝突了,資料庫啟動的時候會有報錯的。

做完配置修改後,在重啟資料庫之前,我們還有做一件事請,那就是未經處理資料的同步,首先停止資料庫,然後用A機的資料庫全部覆蓋B機的資料庫(反之也行),總之,在重啟之前,保證你需要同步的資料庫應該是一致的(怎麼說也得在同一個起跑線上嘛)。

好了,現在你可以重啟你的資料庫了。

你可以通過show master status; show slave status這樣的SQL語句來查看對應的狀態了。

著作權聲明:可以任意轉載,轉載時請務必以超連結形式標明文章原始出處和作者資訊。

本文連結: http://mlsx.xplore.cn/2009/02/15/two-way-mysql-replication.html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.