使用MySQL的鏡像功能進行資料同步

來源:互聯網
上載者:User

資料庫版本:5.1.24。
 
4.x版本的資料庫請自己去找相應文檔。
 
英文版文檔的原文地址:http://dev.mysql.com/doc/refman/5.1/en/replication-howto.html
 
1 在主伺服器(master)正常啟動並執行情況下,建立一個專門用來同步資料的使用者。
 
CREATE USER ‘使用者名稱’@'從伺服器IP’ IDENTIFIED BY ‘密碼’;
 
GRANT REPLICATION SLAVE ON *.* TO ‘使用者名稱’@'從伺服器IP’;
 
這個使用者名稱和密碼(明文)以後會自動儲存到從伺服器上的master.info裡面。
 
2 修改主伺服器上面的my.cnf
 
[mysqld]
 
log-bin=mysql-bin
 
server-id=1
 
這個鏡像系統中的每一台mysql主機都需要一個不同的server-id (1~2的32次方-1)
 
PS:如果使用了innodb, 還需要加上:
 
innodb_flush_log_at_trx_commit=1
 
sync_binlog=1
 
PS again:  主服務組態檔裡面一定不能有 skip-networking
 
PS3: 主伺服器防火牆開放3306連接埠給從伺服器。
 
然後重新啟動主伺服器的mysqld,使配置生效。
 
3 擷取主伺服器狀態資訊並複製資料。
 
3.1 擷取主伺服器二進位日誌的座標
 
在主伺服器上運行一個mysql用戶端,
 
mysql> FLUSH TABLES WITH READ LOCK;
 
這會flush所有的資料表,並且阻塞所有的寫入操作。
 
對於innodb類型的表,COMMIT 語句也會阻塞。
 
不要退出這個mysql用戶端,否則這個read lock會失效。
 
在主伺服器上重新開啟一個mysql用戶端,
 
mysql > SHOW MASTER STATUS;
 
+—————+———-+————–+——————+
 
| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB |
 
+—————+———-+————–+——————+
 
| mysql-bin.003 | 73      | test        | manual,mysql    |
 
+—————+———-+————–+——————+
 
File 欄位顯示的是二進位日誌的檔案名稱
 
Position 顯示的是此檔案中的位移量。 抄下來這二個資料。
 
They represent the replication coordinates at which the slave should begin processing new updates from the master.

  • 1
  • 2
  • 3
  • 下一頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.