windows下mysql雙向同步備份實現方法
2024-09-10 00:05:26
供稿:網友
1.1 環境搭建
準備兩臺Windows NT 主機,分別安裝好iKEY Server windows 版本,確定版本無誤,確保mysql服務正常啟動,確保兩臺主機處于同一個局域網中,確定好哪臺做為主、備機器,假設A為主機,B為備機,假設A主機IP地址為:192.168.1.101,B主機IP地址為192.168.1.102
1.2 創建同步帳戶
分別在A、B節點上登陸mysql 數據庫,創建同步帳戶并賦予同步權限,如下:
A節點操作:
運行cmd, cd進入iKEY版本安裝目錄下的iKEY/mysql/bin下,然后執行mysql –uroot –p123456 登陸mysql數據庫執行:
mysql>GRANT REPLICATION SLAVE ON *.* TO "yw[j1] "@"192.168.1.10[j2] 2" IDENTIFIED BY 'ym[j3] ';
mysql>flush privileges;
B節點操作步驟如上,權限賦予如下:
mysql>GRANT REPLICATION SLAVE ON *.* TO "yw[j4] "@"192.168.1.10[j5] 1" IDENTIFIED BY 'ym[j6] ';
mysql>flush privileges;
執行以上操作后,運行net stop mysql, 分別停止兩節點數據庫.
1.3 配置數據同步選項
1.3.1 A主機操作
安裝好的iKEY Server windows 版本后,會在安裝目錄下的iKEY/mysql/backup文件夾下生成一個my_master.cnf配置文件,在A主機上將my_master.cnf 文件復制到安裝目錄下的iKEY/mysql/bin文件夾下,并重命名為my.cnf,重命名之前請先備份原有my.cnf文件,以下介紹my.cnf做的修改之處:
log-bin=mysql-bin #同步事件的日志記錄文件
binlog-do-db=ikey_db #提供數據同步服務的數據庫日志
binlog-do-db=ikey_log #提供數據同步服務的數據庫日志
server-id=1
master-host=192.168.1.102 #主機B的IP地址
master-user=ym #同步帳戶
master-password=ym #同步帳戶密碼
master-port=3306 #端口,主機的MYSQL端口
master-connect-retry=60 #重試間隔60秒
replicate-do-db=ikey_db #同步的數據庫
replicate-do-db=ikey_log #同步的數據庫
1.3.2 B主機操作
安裝好的iKEY Server windows 版本后,會在安裝目錄下的iKEY/mysql/backup文件夾下生成一個my_slave.cnf配置文件,在B備機上將my_slave.cnf 文件復制到安裝目錄下的iKEY/mysql/bin文件夾下,并重命名為my.cnf,重命名之前請先備份原有my.cnf文件,修改之處同A主機,不同配置在于以下:
server-id=2
master-host=192.168.1.101 #主機A的地址
以上需要注意的地方是,要定義master-host的主機IP地址,請根據實際情況進行修改。
請確保以上同步用戶、主機IP、和同步帳戶密碼與所設配置相同.
1.3.3 驗證數據同步
當以上配置完畢后,分別重新啟動主機A和備機B數據庫,運行net start mysql,
查看同步配置情況,登陸mysql 數據庫。
在A節點上查看Master 信息:
mysql> show master status;
+------------------+----------+------------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |