具有不同表名且仅特定列的 MySQL 复制

标签 mysql sql replication database-replication master-slave

我对 MySQL 复制有以下疑问。

1)假设我想用不同的表名进行主从复制,那么可以吗?

Ex. Master >> Db1.student i want to replicate with Slave >> Db2.employee table.

2)如果我只想复制同一个表中的特定列,那么可以吗?

Master >> Db1.student

  • id
  • firstname
  • lastname
  • parentname
  • status

Slave >> Db2.student

  • id
  • firstname
  • lastname

除此之外,还有其他方法来实现/解决上述查询(即 MySQL View )或任何其他替代方法吗?

提前致谢。

最佳答案

最简单的方法是使用这样的 View :

CREATE VIEW Db2.student AS 
     SELECT id, firstname, lastname 
       FROM Db1.student;

如果您想过滤 Db2 View 中的某些内容,您可以在 View 创建中添加一些过滤器。例如:

CREATE VIEW Db2.student AS 
     SELECT id, firstname, lastname 
       FROM Db1.student
      WHERE Db1.student.status = 1; 

我希望它对你有用。

关于具有不同表名且仅特定列的 MySQL 复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23562722/

相关文章:

python - 格式字符串中遇到单个 '}'

mysql - JOIN/UNION SELECT 具有不同列数的两个表中的所有行

php - 通过获取其数据库 ID 将行设置为非事件状态

mysql - SQL查找列数

单台服务器上的 MySQL 复制

php - 查询返回先前函数的内容

sql - sql游标的替代品

sql - LIKE '%' 的全文搜索等效项是什么?

mysql - 在主-主设置中,我需要编辑哪些命令或文件才能使其自动递增 2?

c++ - Cpp self 复制访问被拒绝