数据库 · 6 11 月, 2024

SSH 加密 MySQL 複製的正確建制

SSH 加密 MySQL 複製的正確建制

在當今的數據驅動世界中,數據的安全性和可用性至關重要。MySQL 作為一個流行的開源數據庫管理系統,經常被用於各種應用程序中。當需要在多個伺服器之間複製數據時,確保數據在傳輸過程中的安全性變得尤為重要。本文將探討如何通過 SSH 加密來正確建制 MySQL 複製,並提供具體的步驟和示例。

什麼是 MySQL 複製?

MySQL 複製是一種數據庫技術,允許將數據從一個 MySQL 伺服器(主伺服器)複製到另一個 MySQL 伺服器(從伺服器)。這種技術通常用於負載平衡、數據備份和高可用性等場景。複製可以是同步的或異步的,根據具體需求選擇合適的方式。

為什麼需要 SSH 加密?

在進行 MySQL 複製時,數據在網絡中傳輸,這可能會導致數據被攔截或篡改。使用 SSH(安全外殼協議)加密可以有效地保護數據的安全性,確保數據在傳輸過程中不被第三方訪問。SSH 提供了一個安全的通道,通過加密技術來保護數據的完整性和機密性。

SSH 加密 MySQL 複製的步驟

步驟 1:設置主伺服器

首先,您需要在主伺服器上啟用二進制日誌。這可以通過編輯 MySQL 配置文件來完成。打開 MySQL 配置文件(通常位於 /etc/my.cnf 或 /etc/mysql/my.cnf),並添加以下行:

[mysqld]
log-bin=mysql-bin
server-id=1

保存文件並重啟 MySQL 服務:

sudo systemctl restart mysql

步驟 2:設置從伺服器

在從伺服器上,您需要設置一個唯一的 server-id,並指定主伺服器的地址。編輯從伺服器的 MySQL 配置文件,添加以下行:

[mysqld]
server-id=2

保存文件並重啟 MySQL 服務:

sudo systemctl restart mysql

步驟 3:創建複製用戶

在主伺服器上,您需要創建一個用於複製的 MySQL 用戶。登錄到 MySQL 並執行以下命令:

CREATE USER 'replicator'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%';

步驟 4:配置 SSH 隧道

在從伺服器上,您需要通過 SSH 隧道連接到主伺服器。使用以下命令創建 SSH 隧道:

ssh -L 3306:localhost:3306 user@主伺服器IP

這樣,從伺服器就可以通過本地端口 3306 連接到主伺服器的 MySQL 服務。

步驟 5:啟動複製

最後,在從伺服器上,使用以下命令開始複製:

CHANGE MASTER TO
MASTER_HOST='127.0.0.1',
MASTER_USER='replicator',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=0;

START SLAVE;

您可以使用以下命令檢查複製狀態:

SHOW SLAVE STATUSG

總結

通過以上步驟,您可以成功地設置 SSH 加密的 MySQL 複製,從而確保數據在傳輸過程中的安全性。這種方法不僅提高了數據的安全性,還能夠有效地實現數據的高可用性和負載平衡。如果您正在尋找可靠的 香港VPS 解決方案,Server.HK 提供多種選擇,滿足您的需求。