一. 准備工作
1. 准備兩台服務器(電腦),接入局域網中,使互相ping得通對方
2. 兩台服務器都安裝mysql-server-5.1,必須保證mysql的版本一致
3. 假設,服務器A:192.168.0.2,服務器B:192.168.0.3
二. 創建與測試同步用戶
1. 在主服務器上為從服務器建立一個連接賬戶,該賬戶必須授予replication slave權限。因為服務器A和服務器B互為主從,所以都要分別建立一個同步用戶。
服務器A:
mysql> grant replication slave on *.* to 'replicate'@'192.168.0.3' identified by '123456'; mysql> flush privileges;
服務器B:
mysql> grant replication slave on *.* to 'replicate'@'192.168.0.2' identified by '123456'; mysql> flush privileges;
2. 創建好同步連接賬戶後,我們可以在從服務器(slave)上用replicate賬戶對主服務器(master)數據庫進行訪問,看下是否能連接成功。
服務器A:
C:\Users\Administrator> mysql -h192.168.0.3 -ureplicate -p123456
服務器B:
C:\Users\Administrator> mysql -h192.168.0.2 -ureplicate -p123456
如果出現"Welcome to the MySQL monitor. "等字樣,則表示能登錄成功,說明可以對這兩台服務器進行雙機熱備操作。
三. 修改配置文件my.ini
1. 打開電腦A上"mysql安裝路徑\my.ini"文件,並在文件的末尾添加如下配置:
服務器A:
server-id=1 log-bin=backuplog sync_binlog=1 binlog_format=row auto_increment_increment = 2 auto_increment_offset = 1 max_binlog_size=512m expire_logs_days=1 binlog_do_db=oa binlog_ignore_db=mysql binlog_ignore_db=information_schema replicate_do_db=oa replicate_wild_ignore_table=oa.log slave_skip_errors=all
服務器B:
server-id=2 log-bin=backuplog sync_binlog=1 binlog_format=row auto_increment_increment = 2 auto_increment_offset = 2 max_binlog_size=512m expire_logs_days=1 binlog_do_db=oa binlog_ignore_db=mysql binlog_ignore_db=information_schema replicate_do_db=oa replicate_wild_ignore_table=oa.log slave_skip_errors=all
2. 分別重啟服務器A和服務器B上的mysql服務,如果成功則沒有問題。
C:\Users\Administrator> net stop mysql; C:\Users\Administrator> net start mysql;
3. 可通過master命令,分別查看服務器A和服務器B的主服務器狀態
mysql> show master status\G;