同步遇到视图问题CREATE ALGORITHM无法过滤,可以帮忙看看吗

origin SQL: [CREATE ALGORITHM=UNDEFINED DEFINER=jenkinssa@% SQL SECURITY DEFINER VIEW v_getatdpersonpaycode AS SELECT a.PSNPAYID
\t\t\t\t

4 个赞

完整的日志发一下,在确定下游是否有对应的用户

3 个赞

message信息上图已经发了,能否帮忙匹配和正则,我们过滤一下 目前匹配了正则:^CREATE\s+ALGORITHM
^CREATE[\s\S]*SECURITY\s+DEFINER\s+VIEW不起作用

3 个赞

你可以跳过,手动在下游创建

3 个赞

跳过只是暂时解决问题了,之后又会报出来,无法根本解决问题

2 个赞

我们现在一次报错大概会牵扯到十几个库,处理非常麻烦,一个周末就在不停的修复这个报错了

1 个赞

events 配置的什么

1 个赞

filters: # filter rules, mysql instance can ref rules in it
user-filter-1:
schema-pattern: “" # pattern of the upstream schema name, wildcard characters (?) are supported
table-pattern: “" # pattern of the upstream table name, wildcard characters (?) are supported
events: [“truncate table”, “drop table”, “drop database”]
# pattern of the SQL statements, regular expression is supported
# when using global filtering rule (schema-pattern: "*"), it will try to match the original statement executed in the upstream
# when not using global filtering rule, it will try to match the statement parsed/restored by DM without route-rules applied (can find it in the log)
sql-pattern: [“SHOW COLUMNS FROM”,“SHOW COLUMNS FROM[\s\S]*edf_process_task”,”[\s\S]E_IO_ScheduleResult","create table t_info”,“drop[\s\S]EVENT[\s\S]”,“alter[\s\S]event[\s\S]”,“ALTER TABLE[\s\S]*secuser”,“ALTER DATABASE”,“ALTER DATABASE[\s\S]*CHARACTER SET”,“DROP TABLE IF EXISTS”,“ALTER TABLE[\s\S]*DROP PRIMARY KEY”,“DROP TABLE IF EXISTS[\s\S]*temp”,“ALTER TABLE[\s\S]*DROP INDEX”,“ALTER TABLE[\s\S]*ADD INDEX”,“ALTER TABLE[\s\S]*ADD UNIQUE”,“ALTER TABLE[\s\S]*ADD CONSTRAINT[\s\S]*FOREIGN KEY”,“ADD PRIMARY KEY”,“ALTER TABLE[\s\S]*RENAME AS”,“CREATE TABLE[\s\S]*gb2312”, “DROP FUNCTION”, “CREATE DEFINER[\s\S]*ON SCHEDULE”, “DROP EVENT IF EXISTS”, “RENAME\s+TABLE”,“DROP\s+PROCEDURE”, “CREATE\s+PROCEDURE”,“DROP[\s\S]*TEMPORARY[\s\S]*TABLE”,“CREATE[\s\S]*TEMPORARY[\s\S]*TABLE”,“ALTER\s+TABLE[\s\S]*ADD\s+PARTITION”, “ALTER\s+TABLE[\s\S]*DROP\s+PARTITION”,“CREATE[\s\S]*VIEW”]
action: Ignore

1 个赞

events 设置不对

1 个赞

sql pattern 帮忙看一下正则啊 ,如何改正呢 目前匹配了正则:^CREATE\s+ALGORITHM
^CREATE[\s\S]*SECURITY\s+DEFINER\s+VIEW不起作用

1 个赞

events :binlog events 数组,仅支持从以下 Event 中选择一项或多项。

Event 分类 解释
all 代表包含下面所有的 events
all dml 代表包含下面所有 DML events
all ddl 代表包含下面所有 DDL events
none 代表不包含下面所有 events
none ddl 代表不包含下面所有 DDL events
none dml 代表不包含下面所有 DML events
insert DML insert DML event
update DML update DML event
delete DML delete DML event
create database DDL create database event
drop database DDL drop database event
create table DDL create table event
create index DDL create index event
drop table DDL drop table event
truncate table DDL truncate table event
rename table DDL rename table event
drop index DDL drop index event
alter table DDL alter table event
1 个赞

针对这个错误,可以帮忙写一下正则吗

1 个赞

none ddl

1 个赞

?? none ddl

1 个赞

你的events 设置都不对,怎么过滤

对的,之前其他语句表是可以过滤的,我们是想让你针对这个视图错误,帮忙写个正则,我们试一下可不可以过滤


Hacker_mEB72QZA

7小时前

origin SQL: [CREATE ALGORITHM=UNDEFINED DEFINER= jenkinssa @ % SQL SECURITY DEFINER VIEW v_getatdpersonpaycode AS SELECT a.PSNPAYID
\t\t\t\t

下游创建jenkinssa@’%'这个用户呢

刚看到你和这个帖子一样吧 最后回复了视图的匹配正则有点问题 处理ddl中关于视图创建的sql,添加过滤器后无法被拦截

下游用户很多 种类比较多

那是我同事