MySQL 是當今最流行的關系型數據庫之一,其性能高、安全可靠、易用且免費。在MySQL 中,主從復制是一種常見的架構模式,它提供了數據冗余備份、讀寫分離、高可用性等多種優勢。
下面,我們來一步步學習如何在 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. 在主庫上創建一個用于復制的用戶,并授權給從庫。這個用戶會在從庫上使用,用來連接主庫,獲取變更信息。
我們可以使用下面的命令創建復制用戶: mysql>CREATE USER 'repluser'@'%' IDENTIFIED BY 'password'; mysql>GRANT REPLICATION SLAVE ON *.* TO 'repluser'@'%';
3. 接下來,我們需要在主庫上開啟二進制日志,并設置一個日志文件名和位置。這個日志用來記錄所有的變更操作。
在 my.cnf 文件中添加下面的配置項: log-bin = mysql-bin
4. 然后,我們需要在主庫上設置一個唯一的標識符,稱為服務器標識符。從庫將使用這個標識符來識別主庫,確保數據同步。
在 my.cnf 文件中添加下面的配置項: server-id = 1 # 可以設置為任意非 0 值
5. 現在,我們可以在從庫上啟動 MySQL,并連接到主庫,在從庫上執行 CHANGE MASTER TO 命令,告訴從庫要連接的主庫地址、用戶、密碼、日志文件和位置。
在從庫上執行下面的命令: 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. 最后,我們可以在從庫上啟動復制過程,讓它開始向主庫請求變更數據。
在從庫上執行下面的命令: mysql>START SLAVE;
現在,主從復制就已經配置好了。為了驗證它是否正常工作,我們可以在主庫上執行一些 INSERT、UPDATE、DELETE 操作,并在從庫上查看是否已經同步。如果沒有同步,我們可以使用 SHOW SLAVE STATUS 命令查看錯誤信息。