MySQL8 主從複製配置

對於主從複製的原理我這裏就不解釋了,CSDN其他文章都有介紹,我這邊就介紹同步的步驟。

話不多說,直接開幹。

首先,我們還是要保證數據庫版本的一致性。

1、主節(Master)點配置

首先找到Master的配置文件(my.ini文件)

找到後加入或者配置一下參數:

log-bin=mysql-bin
server-id=1

2、從節點(Slave)配置

首先找到Slave的配置文件(my.ini文件)

找到後加入或者配置一下參數:

server-id=2

3、授權操作的用戶

注意root是主服務器的用戶,而 192.168.0.2 指的是從數據庫的服務器IP,意思就是讓從服務器有訪問的權限

mysql> CREATE USER 'root'@'192.168.0.1' IDENTIFIED WITH mysql_native_password BY 'admin';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'root'@'192.168.0.2';

我這邊沒有新建用戶,權當測試用的,你們可以新建一個專門操作同步的用戶。

刷新授權表信息

mysql> flush privileges;

4、獲取主服務器當前binary log文件名和位置

5、在從(Slave)節點上設置主節點參數

mysql> CHANGE MASTER TO MASTER_HOST='192.168.0.1',  -- 主服務器IP
MASTER_USER='root',                       -- 主服務器用戶
MASTER_PASSWORD='admin',                    -- 主服務器用戶密碼
MASTER_LOG_FILE='WIN-MOL6VAV4FEI-bin.000005',                -- 主服務器
MASTER_LOG_POS=3244;                         --  位置

6、查看(Slave)主從同步狀態

mysql> show slave status;

這邊我輸了mysql> show slave status\G;這個報錯,也不知道是爲什麼!如果有大神看到這個問題,還請評論告知,感謝!

7、開啓主從同步

mysql> start slave;

8、再查看主從同步狀態

mysql> show slave status;

查看狀態時,可能會出現I/O任務啓動失敗的情況,Slave_IO_Runninng = NO。

這是因爲在MySQL主從結構中,從機上的server_id和主機上的server_id不能相同,我們可以看一下主機上的server_id和從機上的server_id是否相同。

查看主從機的server_id,看看是否一樣。

mysql> show variables like 'server_id'; 

如果一樣,就修改從機的Server_id

mysql> set global server_id=2; #此處的數值和my.cnf裏設置的一樣就行 

9、重新開啓同步並查看狀態

mysql> start slave;
mysql> show slave status;

 

開啓主從之後,如果狀態如上圖所示,那麼說明主從信息就已經配置好了。下面你就可以測試,主從之間是否可以複製了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章