在MySQL中,從庫可以通過復制主庫的日志文件來更新自己的數(shù)據(jù)。如果有多個主庫,從庫如何進行復制呢?下面我們將介紹從庫復制多個不同主庫的方法。
首先,我們需要為每個主庫指定不同的server-id。server-id是MySQL復制過程中一個重要的參數(shù),用于唯一標識一個MySQL實例。因此,不同的主庫應該有不同的server-id。
# 主庫1配置 server-id = 1 log_bin = /var/lib/mysql/mysql-bin.log binlog_do_db = db1 # 主庫2配置 server-id = 2 log_bin = /var/lib/mysql/mysql-bin.log binlog_do_db = db2
在以上配置中,我們分別為主庫1和主庫2指定了不同的server-id,并且通過binlog_do_db參數(shù)只復制了特定的數(shù)據(jù)庫。
接著,在從庫上配置主庫的信息。如下:
change master to master_host='master1_ip', master_port=3306, master_user='replication', master_password='password', master_log_file='mysql-bin.000001', master_log_pos=107; change master to master_host='master2_ip', master_port=3306, master_user='replication', master_password='password', master_log_file='mysql-bin.000001', master_log_pos=107;
在以上配置中,我們分別指定了兩個主庫的連接信息,并指定了對應的日志文件和位置。通過多條change master語句,實現(xiàn)從庫復制多個不同主庫。
最后,啟動從庫的復制進程,即可實現(xiàn)從多個主庫進行復制。
start slave;
總之,通過為每個主庫指定不同的server-id,并在從庫上配置不同的主庫連接信息,即可實現(xiàn)從庫復制多個不同主庫。