程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> Mariadb或者MySQL主主同步備份設置(windows)

Mariadb或者MySQL主主同步備份設置(windows)

編輯:MySQL綜合教程

Mariadb或者MySQL主主同步備份設置(windows)


摘要:本文僅僅是描述雙數據庫下的主主同步備份配置,如果需要實現真正的failover以及負載均衡,還需要結合其他配置Keepalived等軟件的配置(使用Keepalived,則必須用linux系統,此軟件只有linux版本)

准備工作
首先准備兩台裝有MariaDB或者MySQL的虛擬機,我是兩台win2003虛擬機,都裝有MariaDB, 兩個分別為192.168.100.217 和 192.168.100.218 兩台機器基本配置一樣,但是有一點,其中一台的my.ini文件中配置server_id = 2 (即兩台機器的server_id不能相同) 192.168.100.217的my.ini文件中[mysqld]節點添加參數如下:
log-bin=binlog #開啟binlog功能
log-bin-index=binlog.index
sync_binlog=0
server_id = 1 #兩台機器不能重復,一個1 一個2 就好

192.168.100.218的my.ini文件中[mysqld]節點添加參數如下:
log-bin=binlog #開啟binlog功能
log-bin-index=binlog.index
sync_binlog=0
server_id = 2 #兩台機器不能重復,一個1 一個2 就好

一、對兩台機器上的MariaDB都執行如下語句來添加作為從服務器的用戶,名為testsync,密碼為“abc123,”:
GRANT replication slave ON *.* TO'testsync'@'%' identified by 'abc123,'; flush privileges;

二、對218設置同步,主服務器為217
1、在192.168.100.217上執行:
flush tables with read lock; show master status; 執行完show這一步驟,請記住幾個參數,一個是File字段的文件名稱,以及Position數值,在後續需要使用 unlock tables;

2、在192.168.100.218上執行如下:
先執行添加mster命令,有幾點必須注意的,就是master_log_file的值必須為在217上執行show的時候獲取的File的名稱,master_log_pos值必須為Position值,否則會出錯
change master to master_host='192.168.100.217', master_port=3306, master_user='testsync',master_password='abc123,', master_log_file='binlog.000003',master_log_pos=598;
start slave;
show slave status;
#執行這命令後 注意觀察下面這兩個參數,必須要都是yes才行

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

如果其中一個是no,那麼請觀察後續字段 Last_IO_Error或者Last_SQL_Error中的描述,然後根據錯誤去修改配置參數

其中可能出現錯誤的幾點,在這裡說明下:

1、server_id相同,倒是IO錯誤

2、master_log_file和master_log_pos錯誤,導致IO錯誤


三、反過來對217設置同步,主服務器為218
1、在192.168.100.218上執行:
flush tables with read lock; show master status; 執行完show這一步驟,請記住幾個參數,一個是File字段的文件名稱,以及Position數值,在後續需要使用 unlock tables;

2、在192.168.100.217上執行如下:
先執行添加mster命令,有幾點必須注意的,就是master_log_file的值必須為在217上執行show的時候獲取的File的名稱,master_log_pos值必須為Position值,否則會出錯
change master to master_host='192.168.100.218', master_port=3306, master_user='testsync',master_password='abc123,', master_log_file='binlog.000002',master_log_pos=323;
start slave;
show slave status;
#執行這命令後 注意觀察下面這兩個參數,必須要都是yes才行

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

如果其中一個是no,那麼請觀察後續字段 Last_IO_Error或者Last_SQL_Error中的描述,然後根據錯誤去修改配置參數

其中可能出現錯誤的幾點,在這裡說明下:

1、server_id相同,倒是IO錯誤

2、master_log_file和master_log_pos錯誤,導致IO錯誤


四、測試同步配置是否完成了
可以對其測試一下,在217上新創建數據庫,在218上在剛創建的數據庫中創建表,如果雙方內容一樣,那麼就驗證此配置完成了

如果過程中沒有錯誤,那麼至此,設置主住同步備份就完成了

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved