简介
在MySQL主从复制中,当主库执行删除操作时,从库并不会同步删除对应的数据。这是由于MySQL的复制机制决定的。为了解决这个问题,我们可以通过在主库上创建触发器来实现删除操作的同步。
解决方案概览
下面是解决方案的整体流程图:
创建触发器
首先,我们需要在主库上创建一个触发器,该触发器会在删除操作执行后被触发,并将删除操作同步到从库。下面是创建触发器的步骤:
步骤 说明
1、进入MySQL客户端 | 使用命令行或者可视化工具进入MySQL客户端
2、选择主库 | 使用USE语句选择要创建触发器的主库
3、创建触发器 | 使用CREATE TRIGGER语句创建触发器,具体代码如下:
CREATE TRIGGER sync_delete_to_slave AFTER DELETE ON table_name FOR EACH ROW BEGIN DELETE FROM table_name WHERE primary_key = OLD.primary_key; END;
其中,table_name是要同步删除操作的表名,primary_key是表的主键。
主库执行删除操作
接下来,我们需要在主库上执行删除操作,这样触发器才会被触发。你可以使用任何你熟悉的删除数据的方式,比如使用DELETE语句。具体代码如下:
DELETE FROM table_name WHERE primary_key = 'xxx';
其中,table_name是要删除数据的表名,primary_key是要删除数据的主键值。
触发器生效
当主库上的删除操作执行后,触发器会被触发,将删除操作同步到从库。触发器的代码中,会执行一个删除操作,删除从库上与主库删除的数据相同的记录。
同步删除操作到从库
在MySQL主从复制的机制下,主库上的删除操作是无法自动同步到从库的。但是通过创建触发器,我们可以在主库上执行删除操作后,将删除操作同步到从库。
总结
通过创建触发器,在主库执行删除操作后,实现了将删除操作同步到从库。这样就解决了MySQL主从复制无法同步删除操作的问题。这个解决方案可以应用于任何需要同步删除操作的场景。
希望本篇文章对于刚入行的小白能够帮助,更好地理解和解决MySQL主从复制中的同步问题。
-----------------------------------
转自
©著作权归作者所有:来自51CTO博客作者mob649e81593bda的原创作品,请联系作者获取转载授权,否则将追究法律责任
mysql主从复制无法同步删除操作吗?
https://blog.51cto.com/u_16175453/7341437
标签:主库,主从复制,同步,删除,触发器,MySQL,操作 From: https://www.cnblogs.com/paul8339/p/17772877.html