首先確保主從伺服器上的Mysql版本相同
主資料庫伺服器配置:
1. 修改主資料庫的配置檔案my.ini, 修改之後重啟Mysql服務。
[mysqld] port=3306 server-id=10 #與從資料庫不同 log-bin=c:\log-bin.log #日誌檔案 binlog-do-db=tpceshi #這裡設定需要在主伺服器記錄日誌的資料庫,只有在這裡設定了的資料庫才能被複制到從伺服器 binlog-ignore-db=mysql #這裡設定在主伺服器上不記度日誌的資料庫2. 開啟mysql命令列登陸mysql,,設定一個從資料庫的賬戶,給從資料庫分配複製許可權
mysql>GRANT REPLICATION SLAVE ON *.* TO slave001'@'192.168.0.99' IDENTIFIED BY '123456';
slave001:使用者名稱
192.168.0.99:IP
123456:密碼
3.show masterstatus;顯示主資料庫狀態
File:資料庫日誌檔案
Position:日誌位置
這2個選項用於在從資料庫伺服器中配置
////////////////
從資料庫資料同步
////////////////
好了,現在可以停止主資料的的更新操作,並生成主資料庫的備份,我們可以通過mysqldump匯出資料到從資料庫注意在匯出資料之前先對主資料庫進行READ LOCK,以保證資料的一致性
mysql> flush tables with read lock;之後是mysqldump
mysqldump -h127.0.0.1 -p3306 -uroot -p test > /home/chenyz/test.sql最好在主資料庫備份完畢,恢復寫操作
mysql> unlock tables;將剛才主資料備份的test.sql複製到從資料庫,進行匯入
從資料庫伺服器配置:
1.修改從資料庫的my.ini,增加server-id引數,與主資料庫不同
2.在mysql命令列,指定複製使用的使用者,主資料庫伺服器的ip,埠以及開始執行復制日誌的檔案和位置CHANGE MASTER TO MASTER_HOST='192.168.1.238', MASTER_USER='root', MASTER_PASSWORD='123456', MASTER_LOG_FILE='log-bin.000001', MASTER_LOG_POS=120;3.在從伺服器上,啟動slave程式
mysql> start slave;4. 在從伺服器進行show salvestatus驗證
mysql> SHOW SLAVE STATUS\G Slave_IO_State: Waiting for master to send event Master_Host: localhost Master_User: root Master_Port: 3306 Connect_Retry: 3 Master_Log_File: mysql-bin.003 Read_Master_Log_Pos: 79 Relay_Log_File: gbichot-relay-bin.003 Relay_Log_Pos: 548 Relay_Master_Log_File: mysql-bin .003 Slave_IO_Running: Yes Slave_SQL_Running: Yes如果Slave_IO_Running和Slave_SQL_Running都為YES的話,則表明配置成功。
評論(4)