MySQL主從復制是MySQL數據庫中常用的數據備份和數據分布式處理的方法,它可以將一個MySQL服務器的數據復制到多個MySQL服務器上,實現數據的同步和分發。
基本原理: MySQL主從復制的基本原理就是將一個MySQL服務器上的數據同步地復制到另一個或多個MySQL服務器上。其中,有一個服務器充當主服務器,負責接收并處理寫操作(INSERT、UPDATE、DELETE等),而其他服務器充當從服務器,負責接收并處理讀操作。當主服務器發生寫操作時,它會把這些操作記錄到它的二進制日志中(Binary Log),從服務器通過操作日志復制技術(Replication)來獲取主服務器的操作,然后將操作應用到自己的數據中,最終實現數據的同步。
MySQL主從復制的優點:
- 可以實現數據備份和災備
- 可以減輕主服務器的負擔,提高性能
- 可以實現MySQL的分表分庫
- 可以實現讀寫分離,提高性能
MySQL主從復制的配置:
1、配置主服務器: a.啟用二進制日志,在my.cnf中添加如下配置: log-bin=mysql-bin b.設置服務器ID,在my.cnf中添加如下配置: server-id=1 c.重啟MySQL服務器以應用新的配置。 2、配置從服務器: a.設置服務器ID,在my.cnf中添加如下配置: server-id=2 (注意,文件中的server-id要和主服務器的不同) b.啟用從服務器,在MySQL中執行如下SQL語句: CHANGE MASTER TO MASTER_HOST='主服務器IP',MASTER_USER='slave',MASTER_PASSWORD='密碼',MASTER_PORT=3306,MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=0; c.啟動從服務器,執行命令: start slave; 3、查看MySQL主從復制狀態: a.在從服務器中執行如下SQL語句: show slave status\G; b.查看結果中的Slave_IO_Running和Slave_SQL_Running兩個字段是否為YES。