如何在Linux上設定資料庫主從複製
在Linux系統下,設定資料庫主從複製是一項常見的任務。主從複製可以提供資料冗餘備份、負載平衡和高可用性等優勢。本文將介紹如何在Linux上設定資料庫主從複製的步驟,並提供對應的程式碼範例。
步驟一:安裝資料庫軟體
首先,我們需要在主伺服器和從伺服器上安裝對應的資料庫軟體。本文以MySQL資料庫為例,安裝過程如下:
在主伺服器與從伺服器執行下列指令來安裝MySQL資料庫:
sudo apt update sudo apt install mysql-server
步驟二:設定主伺服器
接下來,我們需要在主伺服器上進行一系列設定:
#編輯MySQL設定檔/etc/mysql/mysql. conf.d/mysqld.cnf
,取消以下行的註解(刪除行前的##):
#bind-address = 127.0.0.1 #log_bin = /var/log/mysql/mysql-bin.log #binlog_do_db = mydatabase
重啟MySQL伺服器:
sudo service mysql restart
登入MySQL伺服器並執行下列SQL指令:
mysql -u root -p
在MySQL互動介面中執行:
CREATE USER 'replication'@'%' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'replication'@'%'; FLUSH PRIVILEGES; FLUSH TABLES WITH READ LOCK; SHOW MASTER STATUS;
記下File
和Position
欄位的值,我們將在從伺服器上用到。
解鎖表格:
UNLOCK TABLES;
步驟三:設定從伺服器
接下來,在從伺服器上進行一系列設定:
編輯MySQL設定檔/etc/mysql/mysql.conf.d/mysqld.cnf
,取消下列行的註解:
#bind-address = 127.0.0.1
#重啟MySQL伺服器:
sudo service mysql restart
登入MySQL伺服器並執行下列SQL指令:(將<master-ip>
取代為主伺服器的IP位址,<master-file>
和<master-position>
替換為上一個步驟中記錄的File
和Position
欄位的值。)
mysql -u root -p
在MySQL互動介面中執行:
CHANGE MASTER TO MASTER_HOST='<master-ip>', MASTER_USER='replication', MASTER_PASSWORD='password', MASTER_LOG_FILE='<master-file>', MASTER_LOG_POS=<master-position>; START SLAVE;
檢查從伺服器的狀態:
SHOW SLAVE STATUSG
確保# Slave_IO_Running
和Slave_SQL_Running
欄位的值都為Yes
,表示主從複製已經成功配置。
至此,我們已經完成了在Linux上配置資料庫主從複製的過程。
總結
本文介紹了在Linux系統下配置資料庫主從複製的步驟,並提供了對應的程式碼範例。透過主從複製,我們可以獲得資料冗餘備份、負載平衡和高可用性等好處。配置主從複製時需要注意主伺服器和從伺服器的軟體安裝和配置,以及正確設定主從伺服器的連接和權限。希望本文對你在Linux系統上配置資料庫主從複製有所幫助。
以上是如何在Linux上設定資料庫主從複製的詳細內容。更多資訊請關注PHP中文網其他相關文章!