MySQL 是目前使用最廣泛的關系型數據庫之一,支持主從復制機制,可以進行數據備份和讀寫分離。在一些高負載的應用場景下,為了提高系統的穩定性和可用性,我們需要通過增加一個從庫來實現讀寫分離,并將從庫作為備份數據庫。
下面我們就介紹如何增加一臺從庫的步驟。
步驟 1:創建一個 MySQL 用戶并授權
CREATE USER 'backup'@'192.168.1.1' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'backup'@'192.168.1.1';
步驟 2:備份主庫數據,并將備份文件傳輸到從庫
mysqldump -uroot -p --master-data --single-transaction --flush-logs --hex-blob --skip-triggers --routines --events --databases db_name >/tmp/db_name.sql scp /tmp/db_name.sql backup@192.168.1.2:/tmp/db_name.sql
步驟 3:在從庫上導入主庫的備份文件
mysql -uroot -p< /tmp/db_name.sql
步驟 4:配置從庫的 MySQL 配置文件
server-id = 2 log-bin = mysql-bin # 開啟二進制日志,用于接收主庫的日志信息 relay-log = relay-bin # 開啟中繼日志,用于記錄從庫對主庫日志信息的復制過程 read-only = 1 # 設置只讀,用于接收主庫的只讀請求
步驟 5:啟動從庫
systemctl start mysqld.service
步驟 6:配置從庫與主庫的連接信息
CHANGE MASTER TO MASTER_HOST='192.168.1.1', # 主庫 IP 地址 MASTER_PORT=3306, # 主庫的端口號 MASTER_USER='backup', # 主庫的備份用戶 MASTER_PASSWORD='password', # 主庫的備份用戶密碼 MASTER_LOG_FILE='mysql-bin.000001', # 主庫當前二進制日志文件名 MASTER_LOG_POS=620; # 主庫當前二進制日志文件偏移量
步驟 7:開啟從庫復制功能
START SLAVE;
至此,我們已經成功地將一臺從庫添加到了 MySQL 數據庫中,從而實現了數據備份和讀寫分離的目的。