配置 mysql 主從復(fù)制可實現(xiàn)數(shù)據(jù)冗余、可擴展性和負載均衡。步驟包括: 主服務(wù)器: 創(chuàng)建復(fù)制用戶、啟用二進制日志。 從服務(wù)器: 設(shè)置唯一 server-id、連接主服務(wù)器、啟動 mysql 服務(wù)。 開始復(fù)制: 在從服務(wù)器上運行 change master to 和 start slave 命令。 驗證: 檢查主/從服務(wù)器上的狀態(tài)信息以確認復(fù)制已啟動。
MySQL 主從復(fù)制配置
MySQL 主從復(fù)制是一種數(shù)據(jù)庫復(fù)制技術(shù),它允許將數(shù)據(jù)從一臺主服務(wù)器(master)復(fù)制到一臺或多臺從服務(wù)器(slave)。通過配置主從復(fù)制,可以實現(xiàn)以下好處:
數(shù)據(jù)冗余:當主服務(wù)器出現(xiàn)故障時,從服務(wù)器可以繼續(xù)提供服務(wù),避免數(shù)據(jù)丟失。
可擴展性:通過增加從服務(wù)器,可以提高數(shù)據(jù)庫的處理能力。
負載均衡:將讀取操作分配到從服務(wù)器,減輕主服務(wù)器的負載。
配置步驟:
在主服務(wù)器上:
創(chuàng)建復(fù)制用戶并授予適當?shù)臋?quán)限:
CREATE USER 'repl'@'%' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
登錄后復(fù)制
啟用二進制日志:
SET GLOBAL binlog_format='ROW';
登錄后復(fù)制
重啟 MySQL 服務(wù):
service <a style="color:#f60; text-decoration:underline;" href="https://www.php.cn/zt/15713.html" target="_blank">mysql</a> restart
登錄后復(fù)制
在從服務(wù)器上:
停止 MySQL 服務(wù):
service mysql stop
登錄后復(fù)制
編輯配置文件 (/etc/my.cnf):
設(shè)置 server-id 為一個唯一值,與主服務(wù)器不同。
設(shè)置 master_host 為主服務(wù)器的 IP 地址或主機名。
設(shè)置 master_user 和 master_password 為復(fù)制用戶的信息。
設(shè)置 replicate-do-db 和 replicate-ignore-db 來指定要復(fù)制和忽略的數(shù)據(jù)庫(可選)。
啟動 MySQL 服務(wù):
service mysql start
登錄后復(fù)制
在從服務(wù)器上執(zhí)行以下命令,開始復(fù)制:
CHANGE MASTER TO MASTER_HOST='master_host', MASTER_USER='master_user', MASTER_PASSWORD='master_password'; START SLAVE;
登錄后復(fù)制
驗證配置:
在主服務(wù)器上,執(zhí)行 SHOW SLAVE STATUS 命令。輸出應(yīng)顯示 Slave_IO_Running 和 Slave_SQL_Running 為 Yes。
在從服務(wù)器上,執(zhí)行 SHOW MASTER STATUS 命令。輸出應(yīng)顯示主服務(wù)器相應(yīng)的 binlog 位置。