服务器设置和教程 · 9 10 月, 2024

如何在 Ubuntu 18.04 上配置 MySQL 主從複製

如何在 Ubuntu 18.04 上配置 MySQL 主從複製

MySQL 主從複製是一種常見的數據庫架構,能夠提高數據的可用性和擴展性。在這篇文章中,我們將介紹如何在 Ubuntu 18.04 上配置 MySQL 主從複製,讓您能夠有效地管理數據庫。

前提條件

  • 兩台運行 Ubuntu 18.04 的伺服器,分別作為主伺服器和從伺服器。
  • 已安裝 MySQL 伺服器,並且能夠訪問 MySQL 客戶端。
  • 確保兩台伺服器之間的網絡連接正常。

步驟一:在主伺服器上配置 MySQL

1. 編輯 MySQL 配置文件

首先,您需要編輯 MySQL 的配置文件,通常位於 /etc/mysql/mysql.conf.d/mysqld.cnf。使用以下命令打開文件:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

在文件中找到以下行並進行修改:

bind-address = 0.0.0.0

這樣可以允許來自任何 IP 的連接。接著,添加以下行以啟用二進制日誌:

log_bin = /var/log/mysql/mysql-bin.log

並設置伺服器 ID:

server-id = 1

2. 重啟 MySQL 服務

完成配置後,重啟 MySQL 服務以使更改生效:

sudo systemctl restart mysql

3. 創建複製用戶

接下來,您需要創建一個用於複製的 MySQL 用戶。登錄到 MySQL:

mysql -u root -p

然後執行以下命令來創建用戶並授予複製權限:

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

4. 獲取主伺服器的二進制日誌位置

在 MySQL 中執行以下命令以獲取當前的二進制日誌文件和位置:

SHOW MASTER STATUS;

記下 FilePosition 的值,稍後將在從伺服器上使用。

步驟二:在從伺服器上配置 MySQL

1. 編輯 MySQL 配置文件

在從伺服器上,編輯 MySQL 的配置文件:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

設置伺服器 ID:

server-id = 2

2. 重啟 MySQL 服務

重啟 MySQL 服務:

sudo systemctl restart mysql

3. 配置從伺服器以連接主伺服器

登錄到從伺服器的 MySQL,並執行以下命令:

CHANGE MASTER TO
    MASTER_HOST='主伺服器的IP',
    MASTER_USER='replicator',
    MASTER_PASSWORD='password',
    MASTER_LOG_FILE='記下的File',
    MASTER_LOG_POS=記下的Position;

4. 啟動複製

最後,啟動從伺服器的複製進程:

START SLAVE;

5. 檢查複製狀態

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

SHOW SLAVE STATUSG;

確保 Slave_IO_RunningSlave_SQL_Running 都顯示為 Yes

總結

通過以上步驟,您已成功在 Ubuntu 18.04 上配置了 MySQL 主從複製。這種架構不僅能提高數據的可用性,還能在高流量的情況下分擔負載。如果您需要進一步的支持或尋找合適的 VPS 解決方案,請訪問我們的網站以獲取更多信息。