MySQL 是當今最流行的關系型數(shù)據(jù)庫之一,其性能高、安全可靠、易用且免費。在MySQL 中,主從復制是一種常見的架構(gòu)模式,它提供了數(shù)據(jù)冗余備份、讀寫分離、高可用性等多種優(yōu)勢。
下面,我們來一步步學習如何在 MySQL 中配置主從庫:
1. 首先,我們需要在主庫和從庫上安裝 MySQL,并確保它們能夠互相訪問。假設主庫 IP 為 192.168.1.100,從庫 IP 為 192.168.1.200。
安裝 MySQL 的方法可以參考下面的命令: $ sudo apt-get update $ sudo apt-get install mysql-server
2. 在主庫上創(chuàng)建一個用于復制的用戶,并授權(quán)給從庫。這個用戶會在從庫上使用,用來連接主庫,獲取變更信息。
我們可以使用下面的命令創(chuàng)建復制用戶: mysql>CREATE USER 'repluser'@'%' IDENTIFIED BY 'password'; mysql>GRANT REPLICATION SLAVE ON *.* TO 'repluser'@'%';
3. 接下來,我們需要在主庫上開啟二進制日志,并設置一個日志文件名和位置。這個日志用來記錄所有的變更操作。
在 my.cnf 文件中添加下面的配置項: log-bin = mysql-bin
4. 然后,我們需要在主庫上設置一個唯一的標識符,稱為服務器標識符。從庫將使用這個標識符來識別主庫,確保數(shù)據(jù)同步。
在 my.cnf 文件中添加下面的配置項: server-id = 1 # 可以設置為任意非 0 值
5. 現(xiàn)在,我們可以在從庫上啟動 MySQL,并連接到主庫,在從庫上執(zhí)行 CHANGE MASTER TO 命令,告訴從庫要連接的主庫地址、用戶、密碼、日志文件和位置。
在從庫上執(zhí)行下面的命令: mysql>CHANGE MASTER TO ->MASTER_HOST='192.168.1.100', ->MASTER_USER='repluser', ->MASTER_PASSWORD='password', ->MASTER_LOG_FILE='mysql-bin.000001', ->MASTER_LOG_POS=107;
6. 最后,我們可以在從庫上啟動復制過程,讓它開始向主庫請求變更數(shù)據(jù)。
在從庫上執(zhí)行下面的命令: mysql>START SLAVE;
現(xiàn)在,主從復制就已經(jīng)配置好了。為了驗證它是否正常工作,我們可以在主庫上執(zhí)行一些 INSERT、UPDATE、DELETE 操作,并在從庫上查看是否已經(jīng)同步。如果沒有同步,我們可以使用 SHOW SLAVE STATUS 命令查看錯誤信息。