MySQL主從復(fù)制是一種將數(shù)據(jù)從一個MySQL服務(wù)器復(fù)制到另一個MySQL服務(wù)器的技術(shù)。
主從復(fù)制的實現(xiàn)過程包括以下步驟:
- 在主服務(wù)器上創(chuàng)建一個用于復(fù)制的賬號,并為該賬號授予REPLICATION SLAVE權(quán)限。
- 在主服務(wù)器上開啟二進(jìn)制日志功能。
- 在從服務(wù)器上設(shè)置主服務(wù)器的IP地址、復(fù)制賬號和密碼。
- 在從服務(wù)器上啟動復(fù)制過程。
下面基于上述步驟詳細(xì)介紹MySQL主從復(fù)制:
1. 在主服務(wù)器上創(chuàng)建復(fù)制賬號。
mysql>CREATE USER 'repl'@'%' IDENTIFIED BY 'password'; mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
2. 在主服務(wù)器上開啟二進(jìn)制日志功能。
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的值,稍后在從服務(wù)器配置時會用到。
3. 在從服務(wù)器上配置主服務(wù)器相關(guān)信息。
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. 在從服務(wù)器上啟動復(fù)制過程。
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主從復(fù)制的實現(xiàn)過程。通過這種方式,從服務(wù)器可以實時復(fù)制主服務(wù)器上的數(shù)據(jù),從而進(jìn)行有效的數(shù)據(jù)管理和備份。