要將一個 MariaDB 伺服器設定為 Master,另一個設定為 Slave,您可以遵循以下步驟:
在 Master 伺服器上執行以下步驟:
確保 MariaDB 伺服器已安裝並運行。
打開 MariaDB 的設定檔(通常是 my.cnf 或 my.ini),並確保以下設定已啟用或添加:
[mysqld]
server-id = 1
log-bin = mysql-bin
binlog-do-db = your_database_name
在這裡,server-id
設定必須是唯一的,log-bin
啟用二進制日誌,binlog-do-db
指定要複製的資料庫名稱。確保替換 your_database_name
為實際的資料庫名稱。
重新啟動 Master 伺服器以應用設定更改。
授予 Slave 伺服器複製 Master 伺服器的權限。執行以下 SQL 指令:
GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'slave_host' IDENTIFIED BY 'password';
請替換 'slave_user'
、'slave_host'
和 'password'
為適當的值。
- 使用
FLUSH PRIVILEGES;
以重新加載權限表。
在 Slave 伺服器上執行以下步驟:
確保 MariaDB 伺服器已安裝並運行。
打開 MariaDB 的設定檔,並確保以下設定已啟用或添加:
[mysqld]
server-id = 2
server-id
必須是唯一的。
重新啟動 Slave 伺服器以應用設定更改。
使用以下 SQL 指令連接到 Master 伺服器並啟用複製:
CHANGE MASTER TO
MASTER_HOST = 'master_host',
MASTER_USER = 'slave_user',
MASTER_PASSWORD = 'password',
MASTER_LOG_FILE = 'mysql-bin.XXXXXX',
MASTER_LOG_POS = XXX;
請替換 'master_host'
、'slave_user'
、'password'
、'mysql-bin.XXXXXX'
和 XXX
為實際的值。您可以使用 SHOW MASTER STATUS;
指令在 Master 伺服器上找到正確的二進制日誌檔案名稱和位置。
- 啟動 Slave 複製:
START SLAVE;
- 使用
SHOW SLAVE STATUS\G;
指令來檢查 Slave 複製的狀態,確保沒有錯誤。
完成這些步驟後,您的 MariaDB 主從複製設定應該已經設置成功,Master 伺服器上的資料將自動複製到 Slave 伺服器。請確保監視複製的運行狀態,以確保一切運作正常。