首先准備兩台裝有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.indexsync_binlog=0server_id = 1 #兩台機器不能重復,一個1 一個2 就好
192.168.100.218的my.ini文件中[mysqld]節點添加參數如下:log-bin=binlog #開啟binlog功能log-bin-index=binlog.indexsync_binlog=0server_id = 2 #兩台機器不能重復,一個1 一個2 就好
GRANT replication slave ON *.* TO'testsync'@'%' identified by 'abc123,'; flush privileges;
flush tables with read lock; show master status; 執行完show這一步驟,請記住幾個參數,一個是File字段的文件名稱,以及Position數值,在後續需要使用 unlock tables;
先執行添加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錯誤
flush tables with read lock; show master status; 執行完show這一步驟,請記住幾個參數,一個是File字段的文件名稱,以及Position數值,在後續需要使用 unlock tables;
先執行添加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上在剛創建的數據庫中創建表,如果雙方內容一樣,那麼就驗證此配置完成了