一、概述
MySQL主從複製是一種高可用性的解決方案,它可以提供數據的備份和讀寫分離的功能。在MySQL主從複製中,主庫(Master)負責寫操作,從庫(Slave)負責讀操作,主庫將寫操作的日誌記錄(Binlog)傳遞給從庫,從庫解析並執行相應的操作,從而實現數據的同步。本文將詳細介紹如何進行MySQL主從複製的配置。
二、環境準備
在進行MySQL主從複製前,需要對環境進行相應的準備。首先需要確保主庫和從庫的版本號相同,並且需要在主庫和從庫中分別創建一個普通的用戶,並為其授予相應的許可權,以便於從庫同步主庫的數據。在主庫中還需要啟用Binlog,確保從庫可以進行數據的同步。以下是相應的代碼示例:
-- 創建用戶並授權 CREATE USER 'repl'@'%' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%'; FLUSH PRIVILEGES; -- 啟用Binlog [mysqld] log-bin=mysql-bin server-id=1
三、主庫配置
在主庫中進行相應的配置,以保證Binlog日誌能夠被正常的記錄和傳遞。需要將主庫的操作寫入Binlog日誌中,並指定相應的Binlog格式。以下是相應的代碼示例:
[mysqld] log-bin=mysql-bin binlog-format=ROW server-id=1
其中,log-bin用於啟用Binlog,binlog-format用於指定Binlog格式為ROW格式,server-id用於指定主庫的唯一標識。
在主庫進行完相應的配置後,需要重啟MySQL服務以將配置生效。
四、從庫配置
在從庫中進行相應的配置,確保從庫可以成功的同步主庫的數據。需要先將從庫同步到主庫的狀態,然後將從庫切換到主庫的狀態,最終啟動從庫進行數據的同步。以下是相應的代碼示例:
-- 設置從庫的唯一標識 [mysqld] server-id=2 -- 設置從庫連接主庫的配置 change master to master_host='192.168.1.1', master_user='repl', master_password='password', master_log_file='mysql-bin.000001', master_log_pos=107, master_port=3306; -- 啟動從庫並開始同步數據 start slave;
其中,server-id用於指定從庫的唯一標識,change master to用於指定從庫連接主庫的相關信息,包括主庫的IP地址、連接用戶名和密碼、同步位置等,start slave用於啟動從庫進行數據的同步。
五、讀寫分離
MySQL主從複製還可以實現讀寫分離的功能,即將讀操作分發到從庫中,提高系統的讀性能。需要在主庫中進行相應的配置,以便於將讀請求分發到從庫中。以下是相應的代碼示例:
[mysqld]
skip-slave-start
log-bin=mysql-bin
binlog-format=ROW
server-id=1
binlog-do-db=mydb# 配置從庫地址
log-slave-updates
relay-log=mysql-relay-bin
log-bin-trust-function-creators=1
slave-skip-errors=1062
replicate-do-db=mydb
replicate-ignore-db=mysql
slave-net-timeout=60
slave-skip-errors=1062# 配置讀寫分離
log-bin=mysql-bin
binlog-do-db=mydb
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-do-db=myapp# 配置從庫
binlog-ignore-db=mysql
binlog-ignore-db=information_schema
binlog-do-db=myapp# 配置連接信息
binlog-do-db=mydb
bind-address = 0.0.0.0
```其中,skip-slave-start用於關閉從庫的啟動,log-bin、binlog-format和server-id用於開啟主庫的Binlog日誌,並設置相應的Binlog格式和主庫標識。log-slave-updates、relay-log和slave-skip-errors用於配置從庫,binlog-do-db、binlog-ignore-db用於配置讀寫分離,bind-address用於配置連接信息。
六、總結
本文介紹了MySQL主從複製的配置和使用方法,從環境準備、主庫配置、從庫配置、讀寫分離等多個方面進行了詳細的介紹。通過本文的閱讀,相信讀者已經能夠掌握如何進行MySQL主從複製的配置和使用。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/160623.html