動態

詳情 返回 返回

MYSQL主從配置 - 動態 詳情

1、Mysql主從配置

MySQL的主備(主從)配置是一種常見的數據高可用性和數據備份方案,主要用於實現數據的實時複製,確保數據的一致性和系統的容錯能力。下面我將詳細介紹如何配置MySQL的主備環境。

1.1、 環境準備

確保你的服務器上已經安裝了MySQL,並且至少有兩台服務器,一台作為主服務器(Master),另一台作為從服務器(Slave)。

2. 配置主服務器(Master)

修改配置文件

在主服務器的MySQL配置文件(通常是my.cnfmy.ini)中添加或修改以下配置:

 [mysqld]
 server-id = 1                   # 唯一的服務ID,Master設為1
 log-bin = mysql-bin            # 啓用二進制日誌
 binlog-do-db = your_database   # 需要複製的數據庫名,如果要複製所有數據庫,可以使用 *

重啓mysql服務

systemctl restart mysqld

創建複製用户

登錄MySQL,創建一個用於複製的專用用户:

 # 創建用户並設置密碼
 # 創建一個名為 replicator 的用户,@'%' 表示該用户可以從任何主機(遠程或本地)連接數據庫 IDENTIFIED BY 'password'•:為用户設置密碼為 password
 CREATE USER 'replicator'@'%' IDENTIFIED BY 'password';
 # MySQL 中用於配置複製權限的 SQL 命令,命令解析如下:
 # GRANT REPLICATION SLAVE•:授予複製權限,允許用户進行數據同步操作。
 # ON *.*:表示對所有數據庫和表生效。
 # TO 'replicator'@'%':將權限授予用户 replicator,並允許該用户從任何主機連接(% 表示任意主機)
 GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%';
 ​
 FLUSH PRIVILEGES; # 配置生效

查看二進制日誌位置和文件名

SHOW MASTER STATUS;

記錄下FilePosition的值,稍後配置從服務器時會用到。

3. 配置從服務器(Slave)

修改配置文件

在從服務器的MySQL配置文件中添加或修改以下配置:

 [mysqld]
 server-id = 2                   # 唯一的服務ID,Slave設為2,與Master不同
 relay-log = slave-relay-bin    # 中繼日誌文件名,可選配置
 read_only = 1                  # 從服務器設置為只讀模式,可選配置,防止誤操作修改數據

重啓MySQL服務

systemctl restart mysqld

配置複製源(Slave連接Master)

登錄從服務器的MySQL,執行以下命令:

 CHANGE MASTER TO
     MASTER_HOST='master_ip',       # 主服務器IP地址
     MASTER_USER='replicator',      # 複製用户名稱
     MASTER_PASSWORD='password',    # 複製用户密碼
     MASTER_LOG_FILE='mysql-bin.000001',  # 從SHOW MASTER STATUS得到的File值
     MASTER_LOG_POS=123;                 # 從SHOW MASTER STATUS得到的Position值

注意替換master_ippasswordmysql-bin.000001123為實際的IP地址、密碼和日誌位置。

啓動複製線程

啓動複製線程:START SLAVE;

查看從庫狀態:SHOW SLAVE STATUS\G;

檢查Slave_IO_RunningSlave_SQL_Running兩個字段是否都為Yes,以確認複製正常運行。

4、測試和驗證配置

在主服務器上執行一些數據庫操作,然後檢查從服務器上的相應數據庫是否同步了這些操作。如果一切正常,你的MySQL主備配置就成功了。

Add a new 評論

Some HTML is okay.