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

在 CentOS 7 上部署 MySQL 主從

在 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_passwordmysql-bin.000001位置 替換為相應的值。然後啟動從伺服器的複製進程:

START SLAVE;

檢查複製狀態

要檢查從伺服器的複製狀態,可以執行以下命令:

SHOW SLAVE STATUSG

如果一切正常,您應該會看到 Slave_IO_RunningSlave_SQL_Running 的值均為 Yes

總結

在這篇文章中,我們介紹了如何在 CentOS 7 上部署 MySQL 主從複製。這種架構不僅能提高數據的可用性,還能在讀取請求增長時提供更好的性能。如果您需要穩定的 VPS 解決方案來支持您的數據庫,請考慮使用我們的服務。無論是 香港VPS 還是其他類型的 伺服器,我們都能提供高效的支持和服務。