如何在 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 = 12. 重啟 MySQL 服務
完成配置後,重啟 MySQL 服務以使更改生效:
sudo systemctl restart mysql3. 創建複製用戶
接下來,您需要創建一個用於複製的 MySQL 用戶。登錄到 MySQL:
mysql -u root -p然後執行以下命令來創建用戶並授予複製權限:
CREATE USER 'replicator'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%';4. 獲取主伺服器的二進制日誌位置
在 MySQL 中執行以下命令以獲取當前的二進制日誌文件和位置:
SHOW MASTER STATUS;記下 File 和 Position 的值,稍後將在從伺服器上使用。
步驟二:在從伺服器上配置 MySQL
1. 編輯 MySQL 配置文件
在從伺服器上,編輯 MySQL 的配置文件:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf設置伺服器 ID:
server-id = 22. 重啟 MySQL 服務
重啟 MySQL 服務:
sudo systemctl restart mysql3. 配置從伺服器以連接主伺服器
登錄到從伺服器的 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_Running 和 Slave_SQL_Running 都顯示為 Yes。
總結
通過以上步驟,您已成功在 Ubuntu 18.04 上配置了 MySQL 主從複製。這種架構不僅能提高數據的可用性,還能在高流量的情況下分擔負載。如果您需要進一步的支持或尋找合適的 VPS 解決方案,請訪問我們的網站以獲取更多信息。