MySQL是一種流行的關系型數據庫管理系統,它包括主從復制功能,可以將數據從主服務器復制到一個或多個從服務器。在此文中,我們將討論如何搭建一臺MySQL從庫。
首先,您需要安裝MySQL服務器和客戶端。安裝過程因操作系統和MySQL版本而異。安裝完成后,需要創建一個用戶,該用戶專門用于復制主服務器上的數據:
CREATE USER 'repl_user'@'%' IDENTIFIED BY 'repl_password'; GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%';
接下來,您需要在從屬服務器上啟用二進制日志記錄。這是在主服務器上執行的操作:
# my.cnf log-bin = /var/log/mysql/mysql-bin.log binlog-do-db = example_database
使用log-bin
選項啟用二進制日志。使用binlog-do-db
選項將數據庫名稱(例如“example_database”)傳遞給服務器,以便服務器只記錄此數據庫中的更改。
然后,在從屬服務器上創建一個新的MySQL配置文件:
# my.cnf server-id = 2 relay-log = /var/log/mysql/mysql-relay-bin.log log-slave-updates = true read-only = true # replication slave replica-skip-errors = all replicate-ignore-db = mysql replicate-ignore-db = information_schema replicate-ignore-db = performance_schema replicate-ignore-db = sys replicate-do-db = example_database
使用server-id
選項,將此從屬服務器的唯一ID設置為2,并使用relay-log
選項設置中繼日志的名稱和路徑。
設置log-slave-updates
選項以啟用從屬服務器的寫復制。使用read-only
選項以防止從屬服務器上的數據替換主服務器上的數據。
使用replica-skip-errors
選項設置從屬服務器上的錯誤處理方式。使用replicate-ignore-db
選項排除一些系統性數據庫。使用replicate-do-db
選項指定要復制的實際數據庫。
最后,請將主服務器和從服務器連接起來,并開始從主服務器復制數據:
CHANGE MASTER TO MASTER_HOST='master.example.com', MASTER_USER='repl_user', MASTER_PASSWORD='repl_password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=107; START SLAVE;
使用CHANGE MASTER TO
命令指定主服務器上的主日志文件和位置,該文件和位置告訴從屬服務器從哪里開始復制更改。然后,使用START SLAVE
開始復制數據。
現在,您已經成功地搭建了一個MySQL從庫!