在 CentOS 7 上部署 MySQL 主從
MySQL 是一個流行的開源關聯數據庫管理系統,廣泛應用於各種應用程序中。主從複製是一種常見的數據庫架構,能夠提高數據的可用性和擴展性。在這篇文章中,我們將介紹如何在 CentOS 7 上部署 MySQL 主從複製。
前期準備
在開始之前,請確保您已經安裝了 MySQL 伺服器。您可以使用以下命令來安裝 MySQL:
sudo yum install mysql-server安裝完成後,啟動 MySQL 服務並設置其在開機時自動啟動:
sudo systemctl start mysqld
sudo systemctl enable mysqld接下來,您需要獲取 MySQL 的臨時密碼,這可以在安裝後的日誌中找到:
sudo grep 'temporary password' /var/log/mysqld.log配置主伺服器
首先,您需要配置主伺服器。編輯 MySQL 配置文件:
sudo vi /etc/my.cnf在文件中添加以下配置:
[mysqld]
server-id=1
log-bin=mysql-bin
binlog-do-db=your_database_name請將 your_database_name 替換為您希望複製的數據庫名稱。保存並退出編輯器後,重啟 MySQL 服務:
sudo systemctl restart mysqld接下來,您需要創建一個用於從伺服器連接的用戶。登錄 MySQL:
mysql -u root -p然後執行以下命令來創建用戶並授予權限:
CREATE USER 'replica_user'@'%' IDENTIFIED BY 'your_password';
GRANT REPLICATION SLAVE ON *.* TO 'replica_user'@'%';最後,執行以下命令來查看主伺服器的二進制日誌位置:
SHOW MASTER STATUS;配置從伺服器
接下來,您需要配置從伺服器。首先,編輯從伺服器的 MySQL 配置文件:
sudo vi /etc/my.cnf在文件中添加以下配置:
[mysqld]
server-id=2保存並退出編輯器後,重啟 MySQL 服務:
sudo systemctl restart mysqld然後,登錄到從伺服器的 MySQL,並執行以下命令來設置主伺服器的連接:
CHANGE MASTER TO
MASTER_HOST='主伺服器的IP地址',
MASTER_USER='replica_user',
MASTER_PASSWORD='your_password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=位置;請將 主伺服器的IP地址、your_password、mysql-bin.000001 和 位置 替換為相應的值。然後啟動從伺服器的複製進程:
START SLAVE;檢查複製狀態
要檢查從伺服器的複製狀態,可以執行以下命令:
SHOW SLAVE STATUSG如果一切正常,您應該會看到 Slave_IO_Running 和 Slave_SQL_Running 的值均為 Yes。
總結
在這篇文章中,我們介紹了如何在 CentOS 7 上部署 MySQL 主從複製。這種架構不僅能提高數據的可用性,還能在讀取請求增長時提供更好的性能。如果您需要穩定的 VPS 解決方案來支持您的數據庫,請考慮使用我們的服務。無論是 香港VPS 還是其他類型的 伺服器,我們都能提供高效的支持和服務。