异常信息
1922024-03-11 16:00:44.825 [destination = api_mysql2redis , address = /192.1.0.148:3306 , EventParser] ERROR com.alibaba.otter.canal.common.alarm.LogAlarmHandler - destination:api_mysql2redis[com.alibaba.otter.canal.parse.exception.CanalParseException: com.alibaba.otter.canal.parse.exception.CanalParseException: com.alibaba.otter.canal.parse.exception.CanalParseException: fetch failed by table meta:slb_xxx_seata
.distributed_lock
Caused by: com.alibaba.otter.canal.parse.exception.CanalParseException: com.alibaba.otter.canal.parse.exception.CanalParseException: fetch failed by table meta:slb_xxx_seata
.distributed_lock
Caused by: com.alibaba.otter.canal.parse.exception.CanalParseException: fetch failed by table meta:slb_xxx_seata
.distributed_lock
Caused by: java.io.IOException: ErrorPacket [errorNumber=1142, fieldCount=-1, message=SHOW command denied to user ‘api_xxx_t’@‘10.0.20.15’ for table ‘distributed_lock’, sqlState=42000, sqlStateMarker=#]
with command: show create table slb_xxx_seata
.distributed_lock
at com.alibaba.otter.canal.parse.driver.mysql.MysqlQueryExecutor.query(MysqlQueryExecutor.java:61)
at com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.query(MysqlConnection.java:107)
at com.alibaba.otter.canal.parse.inbound.mysql.dbsync.TableMetaCache.getTableMeta(TableMetaCache.java:177)
at com.alibaba.otter.canal.parse.inbound.mysql.dbsync.LogEventConvert.getTableMeta(LogEventConvert.java:972)
at com.alibaba.otter.canal.parse.inbound.mysql.dbsync.LogEventConvert.parseRowsEventForTableMeta(LogEventConvert.java:496)
at com.alibaba.otter.canal.parse.inbound.mysql.MysqlMultiStageCoprocessor
S
i
m
p
l
e
P
a
r
s
e
r
S
t
a
g
e
.
o
n
E
v
e
n
t
(
M
y
s
q
l
M
u
l
t
i
S
t
a
g
e
C
o
p
r
o
c
e
s
s
o
r
.
j
a
v
a
:
288
)
a
t
c
o
m
.
a
l
i
b
a
b
a
.
o
t
t
e
r
.
c
a
n
a
l
.
p
a
r
s
e
.
i
n
b
o
u
n
d
.
m
y
s
q
l
.
M
y
s
q
l
M
u
l
t
i
S
t
a
g
e
C
o
p
r
o
c
e
s
s
o
r
SimpleParserStage.onEvent(MysqlMultiStageCoprocessor.java:288) at com.alibaba.otter.canal.parse.inbound.mysql.MysqlMultiStageCoprocessor
SimpleParserStage.onEvent(MysqlMultiStageCoprocessor.java:288)atcom.alibaba.otter.canal.parse.inbound.mysql.MysqlMultiStageCoprocessorSimpleParserStage.onEvent(MysqlMultiStageCoprocessor.java:251)
at com.lmax.disruptor.BatchEventProcessor.processEvents(BatchEventProcessor.java:168)
at com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:125)
at java.util.concurrent.Executors
R
u
n
n
a
b
l
e
A
d
a
p
t
e
r
.
c
a
l
l
(
E
x
e
c
u
t
o
r
s
.
j
a
v
a
:
511
)
a
t
j
a
v
a
.
u
t
i
l
.
c
o
n
c
u
r
r
e
n
t
.
F
u
t
u
r
e
T
a
s
k
.
r
u
n
(
F
u
t
u
r
e
T
a
s
k
.
j
a
v
a
:
266
)
a
t
j
a
v
a
.
u
t
i
l
.
c
o
n
c
u
r
r
e
n
t
.
T
h
r
e
a
d
P
o
o
l
E
x
e
c
u
t
o
r
.
r
u
n
W
o
r
k
e
r
(
T
h
r
e
a
d
P
o
o
l
E
x
e
c
u
t
o
r
.
j
a
v
a
:
1149
)
a
t
j
a
v
a
.
u
t
i
l
.
c
o
n
c
u
r
r
e
n
t
.
T
h
r
e
a
d
P
o
o
l
E
x
e
c
u
t
o
r
RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor
RunnableAdapter.call(Executors.java:511)atjava.util.concurrent.FutureTask.run(FutureTask.java:266)atjava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)atjava.util.concurrent.ThreadPoolExecutorWorker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:750)
#解决方案
1,删除meta.dat文件重启
2,修改过滤机制
canal.instance.filter.regex=.\…
或者佳黑名单
canal.instance.filter.black.regex=mysql…*,user,xxxxx