當前位置:網站首頁>簡單,詳細,實現一個MySQL主從複制

簡單,詳細,實現一個MySQL主從複制

2022-01-27 00:54:13 程序員社區

記錄一個簡單實現MySQL的主從複制吧,淦

兩個Linux環境安裝同版本MYSQL,並且保持兩個庫的數據一致

注意:不同版本容易出問題處理起來還比較麻煩(如下)

簡單,詳細,實現一個MySQL主從複制插圖

   庫錶不同會出現如下情况

簡單,詳細,實現一個MySQL主從複制插圖1

  

主數據庫:8.xxx.x.13

從數據庫:47.160.66.164

 

一、配置主服務器

  1、修改mysql配置文件,開啟二進制日志並設置 server-id

[mysqld]log-bin=mysql-bin    #開啟二進制日志server-id=13         #設置server-id,唯一,我用的是ip後兩比特    

簡單,詳細,實現一個MySQL主從複制插圖2

 

   2、重啟MySQL,登錄root賬戶 創建同步用戶

簡單,詳細,實現一個MySQL主從複制插圖3

 

# 創建同步用戶
CREATE USER [email protected] IDENTIFIED BY '[email protected]';

 簡單,詳細,實現一個MySQL主從複制插圖4

 

# 分配權限GRANT REPLICATION SLAVE ON *.* TO [email protected];# 刷新權限FLUSH PRIVILEGES;

 簡單,詳細,實現一個MySQL主從複制插圖5

 

查看master狀態,記錄二進制文件名(mysql-bin.000001)和比特置(3054)

 簡單,詳細,實現一個MySQL主從複制插圖6

 

 二、配置從服務器

  1、同樣修改mysql配置文件,設置 server-id

[mysqld]server-id=164   #server-id, 唯一

簡單,詳細,實現一個MySQL主從複制插圖7

 

  2、重啟MYSQL,執行同步SQL語句(需要主服務器主機名、端口、用戶名、密碼、二進制文件的名稱和比特置):

簡單,詳細,實現一個MySQL主從複制插圖8

 

 

   如果報錯提示 ERROR 3021 (HY000):

ERROR 3021 (HY000): This operation cannot be performed with a running slave io thread; run STOP SLAVE IO_THREAD FOR CHANNEL '' first.

  先關閉IO線程,再執行同步

STOP SLAVE IO_THREAD;   #關閉線程

 

  3、啟動slave同步進程,查看其狀態

# 啟動slaveSTART SLAVE;# 查看狀態SHOW SLAVE STATUS\G;

簡單,詳細,實現一個MySQL主從複制插圖9

 Slave_IO_Running、Slave_SQLRunning均為Yes即成功

簡單,詳細,實現一個MySQL主從複制插圖10

 

三、驗證

  當Slave_IO_Running和Slave_SQL_Running都為YES的時候就錶示主從同步設置成功了。主數據庫建立數據庫,删除數據庫,插入數據錶,備數據庫是否即時同步

 

四、主庫開啟二進制日志後默認記錄所有庫所有錶的操作,可以指定同步或不同步某些庫

# 不同步的數據庫binlog-ignore-db = mysql# 只同步的數據庫binlog-do-db = bosen-shop

  上述方案指定需要同步的庫可能會導致數據不一致,可以在從庫配置 replicate-wild-do-table、replicate-wild-ignore-table代替

# 不同步的數據庫replicate-wild-ignore-table=mysql.%# 只同步的數據庫
replicate-wild-do-table=bosen-shop.%

  

 

版權聲明
本文為[程序員社區]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2022/01/202201270054130627.html

隨機推薦