您好,登錄后才能下訂單哦!
MySQL主從復制是一種常見的數據庫架構模式,用于提高數據庫的可用性和讀取性能。以下是配置MySQL主從復制的步驟:
確保你有一臺作為主服務器(Master)和一臺或多臺作為從服務器(Slave)的MySQL實例。
編輯主服務器的MySQL配置文件 my.cnf
或 my.ini
,通常位于 /etc/mysql/
或 /etc/mysql/mysql.conf.d/
目錄下。
找到或添加以下配置項:
[mysqld]
server-id=1
log-bin=mysql-bin
binlog-do-db=<your_database_name>
binlog-format=ROW
server-id
:主服務器的唯一標識符。log-bin
:啟用二進制日志。binlog-do-db
:指定需要復制的數據庫。binlog-format
:設置二進制日志格式為ROW(默認)。保存配置文件后,重啟MySQL服務以應用更改:
sudo systemctl restart mysql
編輯從服務器的MySQL配置文件 my.cnf
或 my.ini
,通常位于 /etc/mysql/
或 /etc/mysql/mysql.conf.d/
目錄下。
找到或添加以下配置項:
[mysqld]
server-id=2
relay-log=mysql-relay-bin
relay-log-index=mysql-relay-bin.index
read-only=ON
server-id
:從服務器的唯一標識符。relay-log
:啟用中繼日志。relay-log-index
:中繼日志索引文件。read-only
:將從服務器設置為只讀,防止數據被修改。在主服務器上創建一個用于復制的用戶,并授予必要的權限:
CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
FLUSH PRIVILEGES;
在主服務器上獲取當前的二進制日志文件和位置:
SHOW MASTER STATUS;
記下 File
和 Position
的值。
在從服務器上使用以下命令配置復制:
CHANGE MASTER TO
MASTER_HOST='master_host_ip',
MASTER_USER='repl',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='recorded_log_file',
MASTER_LOG_POS=recorded_log_position;
將 master_host_ip
、password
、recorded_log_file
和 recorded_log_position
替換為實際值。
在從服務器上啟動復制進程:
START SLAVE;
在從服務器上驗證復制狀態:
SHOW SLAVE STATUS\G;
檢查 Slave_IO_Running
和 Slave_SQL_Running
是否都為 YES
,并且 Last_IO_Error
和 Last_SQL_Error
為空。
在主服務器上插入一些數據,然后在從服務器上查詢這些數據,確保數據正確復制。
-- 在主服務器上插入數據
INSERT INTO your_database.your_table (column1, column2) VALUES ('value1', 'value2');
-- 在從服務器上查詢數據
SELECT * FROM your_database.your_table;
通過以上步驟,你應該能夠成功配置MySQL主從復制。如果在過程中遇到問題,請檢查日志文件以獲取更多信息。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。