兩台服務器 A:192.168.1.1 B:192.168.1.2 A(master)作為主服務器 為 B(slave)提供同步服務。 www.2cto.com 關閉A,B服務器的數據庫,將服務器A的數據庫導出至B服務器上,保證A,B服務器上要同步的數據庫結構相同; 1、修改A服務器的配置文件my.cnf(win 服務器為 my.ini) #skip-networking #注釋掉 因為它是屏蔽掉一切TCP/IP連接 server-id=1 log-bin binlog-do-db=backup_db #提供數據同步服務的數據庫 set-variable=binlog-ignore-db=mysql #不記錄數據庫mysql的更新日志 2、在A服務器上增加一個賬號專門用於同步,如下: # /usr/local/mysql/bin/mysql -h192.168.1.1 -uroot -p***** mysql>GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO [email protected] IDENTIFIED BY 'pw'; 3、在B服務器, 修改配置文件my.cnf(win 服務器為 my.ini) server-id=2 #不能與A配置相同 master-host=192.168.1.1 #主機A的地址 master-user=name #主機A提供給B的用戶,該用戶中需要包括數據庫backup_db的權限 master-password=pw #訪問密碼 www.2cto.com master-port=3306 #端口,主機的MYSQL端口 master-connect-retry=60 #重試間隔60秒 set-variable=replicate-ignore-db=mysql #略過同步的數據庫名,如果有多個,請設置多次 set-variable=replicate-do-db=backup_db #想要同步的數據庫名,如果有多個,請設置多次 4、在Slave上檢驗一下是否能正確連接到Master上,並且具備相應的權限。 # /usr/local/mysql/bin/mysql -h192.168.1.1 -uname -ppw mysql>SHOW GRANTS; +----------------------------------------------------------------------------------------------------------------------------------------------------+ | Grants for [email protected] | +----------------------------------------------------------------------------------------------------------------------------------------------------+ | GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO '[email protected]' IDENTIFIED BY PASSWORD '*4498909FB5F32638296EFBA1886F56599F142787' | +----------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.53 sec) mysql> 5、啟動Slave,登錄Slave,查看一下同步狀態: # mysql -uroot www.2cto.com mysql>SHOW SLAVE STATUS\G 看到 Slave_IO_Running: Yes Slave_SQL_Running: Yes 配置成功,在A服務器上添加一條數據,看看B是不是同步過來了! 作者 MrLee23