MySQL主從復制是一種將數據從一個MySQL服務器復制到另一個MySQL服務器的技術。
主從復制的實現過程包括以下步驟:
- 在主服務器上創建一個用于復制的賬號,并為該賬號授予REPLICATION SLAVE權限。
- 在主服務器上開啟二進制日志功能。
- 在從服務器上設置主服務器的IP地址、復制賬號和密碼。
- 在從服務器上啟動復制過程。
下面基于上述步驟詳細介紹MySQL主從復制:
1. 在主服務器上創建復制賬號。
mysql>CREATE USER 'repl'@'%' IDENTIFIED BY 'password'; mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
2. 在主服務器上開啟二進制日志功能。
mysql>SET GLOBAL binlog_format = 'ROW'; mysql>SHOW MASTER STATUS; +------------------+----------+--------------+------------------+-------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------+----------+--------------+------------------+-------------------+ | mysql-bin.000001 | 12345 | | | | +------------------+----------+--------------+------------------+-------------------+
記錄下File和Position的值,稍后在從服務器配置時會用到。
3. 在從服務器上配置主服務器相關信息。
mysql>CHANGE MASTER TO ->MASTER_HOST='192.168.0.1', ->MASTER_USER='repl', ->MASTER_PASSWORD='password', ->MASTER_LOG_FILE='mysql-bin.000001', ->MASTER_LOG_POS=12345; mysql>START SLAVE;
4. 在從服務器上啟動復制過程。
mysql>SHOW SLAVE STATUS\G *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 192.168.0.1 Master_User: repl Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000001 Read_Master_Log_Pos: 12345 Relay_Log_File: mysqld-relay-bin.000001 Relay_Log_Pos: 4 Relay_Master_Log_File: mysql-bin.000001 Slave_IO_Running: Yes Slave_SQL_Running: Yes
以上就是MySQL主從復制的實現過程。通過這種方式,從服務器可以實時復制主服務器上的數據,從而進行有效的數據管理和備份。