启动canal报错误编码为1146的错误
canal版本:1.1.6
mysql版本:8.0
报错信息
[destination = example , address = /192.168.1.1:3306 , EventParser] ERROR com.alibaba.otter.canal.common.alarm.LogAlarmHandler - destination:example[com.alibaba.otter.canal.parse.exception.CanalParseException: java.io.IOException: ErrorPacket [errorNumber=1146, fieldCount=-1, message=Table 'home.BASE TABLE' doesn't exist, sqlState=42S02, sqlStateMarker=#]
with command: show create table `home`.`user`;show create table `home`.`BASE TABLE`;show create table `home`.`user0`;show create table `home`.`BASE TABLE`;show create table `home`.`user1`;show create table `home`.`BASE TABLE`;show create table `home`.`user2`;show create table `home`.`BASE TABLE`;show create table `home`.`user3`;show create table `home`.`BASE TABLE`;show create table `home`.`user4`;show create table `home`.`BASE TABLE`;show create table `home`.`user5`;show create table `home`.`BASE TABLE`;show create table `home`.`user6`;show create table `home`.`BASE TABLE`;show create table `home`.`user7`;show create table `home`.`BASE TABLE`;show create table `home`.`user8`;show create table `home`.`BASE TABLE`;show create table `home`.`user9`;show create table `home`.`BASE TABLE`;
Caused by: java.io.IOException: ErrorPacket [errorNumber=1146, fieldCount=-1, message=Table 'home.BASE TABLE' doesn't exist, sqlState=42S02, sqlStateMarker=#]
with command: show create table `home`.`user`;show create table `home`.`BASE TABLE`;show create table `home`.`user0`;show create table `home`.`BASE TABLE`;show create table `home`.`user1`;show create table `home`.`BASE TABLE`;show create table `home`.`user2`;show create table `home`.`BASE TABLE`;show create table `home`.`user3`;show create table `home`.`BASE TABLE`;show create table `home`.`user4`;show create table `home`.`BASE TABLE`;show create table `home`.`user5`;show create table `home`.`BASE TABLE`;show create table `home`.`user6`;show create table `home`.`BASE TABLE`;show create table `home`.`user7`;show create table `home`.`BASE TABLE`;show create table `home`.`user8`;show create table `home`.`BASE TABLE`;show create table `home`.`user9`;show create table `home`.`BASE TABLE`;
at com.alibaba.otter.canal.parse.driver.mysql.MysqlQueryExecutor.queryMulti(MysqlQueryExecutor.java:109)
at com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.queryMulti(MysqlConnection.java:111)
at com.alibaba.otter.canal.parse.inbound.mysql.tsdb.DatabaseTableMeta.dumpTableMeta(DatabaseTableMeta.java:233)
at com.alibaba.otter.canal.parse.inbound.mysql.tsdb.DatabaseTableMeta.rollback(DatabaseTableMeta.java:174)
at com.alibaba.otter.canal.parse.inbound.mysql.AbstractMysqlEventParser.processTableMeta(AbstractMysqlEventParser.java:142)
at com.alibaba.otter.canal.parse.inbound.AbstractEventParser$1.run(AbstractEventParser.java:197)
at java.lang.Thread.run(Thread.java:750)
解决方案:
把默认得白名单配置换成以下配置
或者可以加上自己指定的数据库
canal.instance.filter.regex=dbname\\..*