伺服器雙機熱備可以預防主伺服器意外宕機導致的資料丟失,在主、從伺服器部署雙機熱備後,主伺服器資料庫裡的變化會“對映”到從伺服器的資料庫裡,這樣可以在遇到異常時快速恢復資料。
工具/原料
MS Windows Server 2008 R2
.NET Framework4.0
mysql_installer_community_V5.6.21.1安裝包或其它版本的MySQL安裝包
方法/步驟
安裝環境:主伺服器、從(備用)伺服器上依次安裝.NET Framework4.0與同一版本的MySQL如MySQL5.6,必須確保主從伺服器的MySQL版本一致。
準備資料庫:確保主從伺服器的MySQL資料庫中資料的一致性。
找到配置檔案my.ini(兩臺伺服器):
①開啟MySQL5.6命令列,輸入密碼後回車,然後輸入select @@basedir;回車,可以看到MySQL5.6的安裝目錄如 C:\Program Files\MySQL\MySQL Server 5.6\,如下圖,
②然後在 C:\ProgramData\MySQL\MySQL Server 5.6\下找到my.ini配置檔案並用記事本開啟。
修改配置檔案(主伺服器):最好先備份一份,以防萬一;以下四個屬性有就修改,沒有就新增,如下圖。
①找到[mysqld]下的server-id設定服務ID為本機的IP最後一位如server-id=132
②設定日誌檔名如:log_bin=mysql-log
③設定目標資料庫名如:binlog-do-db=test
④設定同步資料庫函式或儲存過程:log_bin_trust_function_creators=TRUE
然後儲存,重啟MySQL5.6服務。
修改配置檔案(從伺服器):
①設定一下server-id為本機IP最後一位即可(注意不可與主伺服器的server-id相同),
②然後儲存,重啟MySQL5.6服務。
主伺服器資料庫新增備份使用者:
①開啟MySQL5.6命令列,輸入密碼後回車,
②然後輸入grant replication slave on *.* to '資料庫使用者名稱'@'%' identified by '密碼';回車執行(賦予此使用者“主從複製”許可權)。
從伺服器資料庫設定為Slave:
①事先在主伺服器上執行MySQL5.6命令列show master status;查詢日誌名和位置,如下圖;
②在從伺服器上執行MySQL5.6命令列
change master to
master_host='192.168.10.132',
master_user='資料庫使用者名稱',
master_password='密碼',
master_log_file='mysql-log.000029',
master_log_pos=21027;回車執行
③開啟Slave(開啟前確保倆伺服器資料庫資料一致)命令列:start slave;回車執行即開啟了主從複製。
驗證:
①在從伺服器上輸入命令列:show slave status \G;回車,如下圖
確認以下兩項為Yes
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
②修改主伺服器資料(表資料和儲存過程)驗證是否在從伺服器上是否體現。
THE END , THANKS !
注意事項
1.必須確保主從伺服器的MySQL版本一致;
2.開啟Slave前需確保主從伺服器資料庫資料一致。