在Ubuntu上實現MySQL的復制功能,通常是指設置一個MySQL主服務器(Master)和一個或多個MySQL從服務器(Slave),以便從服務器可以自動復制主服務器上的數據變更。以下是實現MySQL復制的基本步驟:
my.cnf(或my.ini)文件,啟用二進制日志(binary logging)和設置唯一的服務器ID。[mysqld]
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
binlog_do_db = your_database_name # 只復制指定的數據庫
my.cnf(或my.ini)文件,設置唯一的服務器ID。[mysqld]
server-id = 2
relay_log = /var/log/mysql/mysql-relay-bin.log
log_bin = /var/log/mysql/mysql-bin.log
binlog_do_db = your_database_name # 只復制指定的數據庫
在主服務器上創建一個用于復制的用戶,并授予相應的權限。
CREATE USER 'replicator'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%';
FLUSH PRIVILEGES;
在主服務器上執行SHOW MASTER STATUS;命令,記錄下File和Position的值。
SHOW MASTER STATUS;
在從服務器上執行CHANGE MASTER TO命令,指定主服務器的信息。
CHANGE MASTER TO
MASTER_HOST='master_ip_address',
MASTER_USER='replicator',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='recorded_log_file_name',
MASTER_LOG_POS=recorded_log_position;
在從服務器上啟動復制進程。
START SLAVE;
在從服務器上執行SHOW SLAVE STATUS\G命令,檢查復制是否正常運行。
SHOW SLAVE STATUS\G
確保Slave_IO_Running和Slave_SQL_Running都是Yes。
通過以上步驟,你可以在Ubuntu上實現MySQL的復制功能。根據具體需求,可能還需要進行一些額外的配置和優化。