是的,可以在不同的主机中仅复制一个具有不同MySQL数据库的表。这种操作通常称为“跨主机复制单个表”。要实现这一目标,您需要使用MySQL的复制功能,并对其进行一些配置。以下是实现跨主机复制单个表的步骤:
CREATE USER 'repl_user'@'%' IDENTIFIED BY 'your_password';
GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%';
server-id=1
log-bin=mysql-bin
CREATE DATABASE my_db;
USE my_db;
CREATE TABLE my_table (id INT NOT NULL AUTO_INCREMENT, data VARCHAR(255), PRIMARY KEY (id));
SHOW MASTER STATUS;
记下File和Position的值,因为您将在从服务器上使用它们。
server-id=2
relay-log=mysql-relay-bin
CHANGE MASTER TO
MASTER_HOST='master_host',
MASTER_USER='repl_user',
MASTER_PASSWORD='your_password',
MASTER_LOG_FILE='mysql-bin.000001', -- 使用在步骤7中找到的文件名
MASTER_LOG_POS= 107; -- 使用在步骤7中找到的位置
START SLAVE;
SHOW SLAVE STATUS\G
如果一切正常,您应该会看到“Slave_IO_Running”和“Slave_SQL_Running”的值为“Yes”。
现在,您已经成功配置了跨主机复制单个表。当主服务器上的表发生更改时,这些更改将自动复制到从服务器上的表。
请注意,上述步骤仅适用于MySQL数据库。对于其他数据库,如PostgreSQL、MongoDB等,复制过程可能有所不同。
领取专属 10元无门槛券
手把手带您无忧上云