6 MySQL 同步
同步功能在MySQL
3.23.15就開始引進了,它可以把一個MySQL服務器上的數據復制到另一個服務器上去。本章描述了MySQL的各種復制特性。介紹了同步的概念,如何設置同步服務器,以及可用服務器的參照。還提供了一系列的常見問題及其答案,疑難解答。
"14.6 Replication Statements"中介紹了同步相關的SQL語句語法。
我們建議經常訪問"http://www.mysql.com"經常閱讀本章的最新內容。同步功能一直在改進,我們經常把這部分的手冊更新到當前的最新內容。
6.1 同步介紹
MySQL
3.23.15及更高的版本支持單向同步。一個服務器作為master(主服務器),一個或者多個服務器作為slave(從服務器)。master服務器把更新的內容寫到二進制日志(binary
log或binlog)中,並且維護了一個索引文件來記錄日志循環的情況。這些日志中的更新部分會被發送到slave服務器。一個slave連接到master之後,它通知master最後一次成功增量更新的日志位置。slave會找出所有從那個時刻開始的更新操作,然後阻塞並等待master發送新的更新操作。
如果想要做一個同步服務器鏈的話,slave同時也可以作為master。
注意,啟用同步後,所有要同步的更新操作都必須在master上執行。否則,必須注意不要造成用戶在master上的更新和在slave上的更新引起沖突。
單向同步的好處是穩健,高速,系統易管理:
有了master/slave機制後,就更穩健了。當master上發生問題時,可以把slave作為備用切換過去。