MySQL主從復制配置涉及以下幾個步驟:
安裝并啟動MySQL服務器 確保在主服務器和從服務器上都已經安裝了MySQL,并確保MySQL服務正在運行。
配置主服務器 在主服務器上,編輯my.cnf(或my.ini)配置文件,通常位于 /etc/mysql/ 或 /etc/ 目錄下。需要添加或修改以下設置:
[mysqld]
server-id=1
log_bin=mysql-bin
binlog_do_db=<需要復制的數據庫名>
binlog_format=mixed
這里,server-id
是一個唯一的數字ID,用于區分主從服務器;log_bin
用于啟用二進制日志;binlog_do_db
指定需要復制的數據庫;binlog_format
設置為mixed模式,表示支持不同類型的事務。
CREATE USER 'repl_user'@'%' IDENTIFIED BY 'your_password';
GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%';
FLUSH PRIVILEGES;
sudo service mysql restart
mysqldump
工具導出需要復制的數據庫:mysqldump -u root -p <需要復制的數據庫名> > database.sql
將生成的database.sql文件傳輸到從服務器。
mysql -u root -p <需要復制的數據庫名>< database.sql
然后,編輯從服務器的my.cnf(或my.ini)配置文件,添加以下設置:
[mysqld]
server-id=2
relay_log=relay-bin
log_bin=mysql-bin
replicate_do_db=<需要復制的數據庫名>
這里,server-id
是一個唯一的數字ID,用于區分主從服務器;relay_log
用于存儲中繼日志;其他設置與主服務器相同。
CHANGE MASTER TO
MASTER_HOST='主服務器IP地址',
MASTER_USER='repl_user',
MASTER_PASSWORD='your_password',
MASTER_LOG_FILE='mysql-bin.000001', -- 從主服務器上show master status獲取
MASTER_LOG_POS= 154; -- 從主服務器上show master status獲取
START SLAVE;
SHOW SLAVE STATUS\G;
如果 Slave_IO_Running
和 Slave_SQL_Running
狀態為"Yes",則表示主從復制配置成功。
注意:以上步驟可能因操作系統和MySQL版本而有所不同。請根據實際情況調整。