一、目的:將主伺服器中的MySql資料庫同步到從伺服器中,使得對主伺服器的操作可以即時更新到從伺服器,避免主伺服器因環境或者網路異常一時無法使用,達到備份效果。
二、環境:
主從伺服器作業系統、資料庫版本均相同,具體如下:
作業系統:Windows 2003 Server R2
MySql資料庫版本:5.0.51b
主伺服器(用A代替)IP地址:192.168.4.100
從伺服器(用B代替)IP地址:192.168.4.101
三、配置過程:
1、在A建立遠端存取備份賬戶。
在A的MySql資料庫中建立一個備份賬戶,命令如下: 複製代碼 代碼如下: mysql> GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.* TO july@'192.168.4.101' IDENTIFIED BY '123456';
mysql> Flush privileges;
mysql> Quit;
語句解釋:
第一句中*.*表示所有資料庫,如果要對某個Database Backup的話,假如資料庫名稱為some,則要換成some.*,其中 TO july@'192.168.4.101',july為遠端存取使用者名稱,IP地址為遠端存取IP,BY '123456'中123456為遠端存取密碼;
第二句語句執行後使得遠端存取使用者建立生效;
執行說明:
執行上述語句後,若要看遠端存取使用者是否已經建立成功,執行以下語句:
mysql> use mysql;
mysql> select host,user from user;
使用者列表中多了一條
+------------------------------------+------------------+
|host |user |
+------------------------------------+------------------+
|192.168.4.101 |july |
+------------------------------------+------------------+
至此,說明遠端存取使用者已經建立成功。
2、關閉A的MySql服務並拷貝資料到B。
關閉A的Mysql服務,將A中的資料拷貝到B中,使得A、B伺服器初始資料完全相同,並且在同步備份之前禁止對伺服器中進行資料庫寫入操作,以保證A、B伺服器的初始資料完全相同。
3、修改A中my.ini配置資訊
開啟my.ini檔案,在[mysqld]下添加以下內容(#內容為注釋):
# server-id:A伺服器的ID值
server-id=10
#log-bin:二進位變更日誌
log-bin=c:\log/log-bin.log
4、重啟A伺服器。
5、關閉B伺服器,對B的my.ini進行相關配置
此處需要注意:
由於設定了slave的配置資訊,mysql在資料庫data目錄下產生master.info,所以如有要修改相關slave的配置要先刪除該檔案,否則修改的配置不能生效。
開啟B的my.ini設定檔,在[mysqld]中添加以下內容:
#B伺服器ID值
server-id=11
#遠端存取IP地址
master-host=192.168.4.100
#遠端存取使用者名稱
master-user=july
#遠端存取使用者密碼
master-password=123456
#主伺服器連接埠(預設為3306,此處要注意主伺服器連接埠是否因為防火牆被禁止)
master-port=3306
#同步時間間隔為60秒
master-connect-retry=60
#設定要同步備份的資料庫,此處資料庫為some
replicate-do-db=some
6、重啟B伺服器,到此已完成主從備份,如果有錯誤,可以通過mysql_error.log進行查看。
說明:此文檔為網路搜集資料自行實驗整理,主要是方便自己後續尋找以及有需要者參考,若有侵權之處,聯絡即刪除。