错误信息如下:
2021-11-30 17:52:09.931 [destination = example , address = /10.15.85.100:3306 , EventParser] ERROR c.a.o.c.p.inbound.mysql.rds.RdsBinlogEventParserProxy - dump address /10.15.85.100:3306 has an error, retrying. caused by com.alibaba.otter.canal.parse.exception.CanalParseException: java.io.IOException: connect /10.15.85.100:3306 failure Caused by: java.io.IOException: connect /10.15.85.100:3306 failure
at com.alibaba.otter.canal.parse.driver.mysql.MysqlConnector.connect(MysqlConnector.java:85) ~[canal.parse.driver-1.1.5.jar:na]
at com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.connect(MysqlConnection.java:90) ~[canal.parse-1.1.5.jar:na]
at com.alibaba.otter.canal.parse.inbound.mysql.MysqlEventParser.preDump(MysqlEventParser.java:86) ~[canal.parse-1.1.5.jar:na]
at com.alibaba.otter.canal.parse.inbound.AbstractEventParser$1.run(AbstractEventParser.java:176) ~[canal.parse-1.1.5.jar:na]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_271] Caused by: java.io.IOException: handshake exception: ErrorPacket [errorNumber=1130, fieldCount=-1, message=10.15.84.187' is not allowed to connect to this MySQL server, sqlState=ost ', sqlStateMarker=H] at com.alibaba.otter.canal.parse.driver.mysql.MysqlConnector.negotiate(MysqlConnector.java:168) ~[canal.parse.driver-1.1.5.jar:na] at com.alibaba.otter.canal.parse.driver.mysql.MysqlConnector.connect(MysqlConnector.java:82) ~[canal.parse.driver-1.1.5.jar:na] ... 4 common frames omitted
2021-11-30 17:52:09.933 [destination = example , address = /10.15.85.100:3306 , EventParser] ERROR com.alibaba.otter.canal.common.alarm.LogAlarmHandler - destination:example[com.alibaba.otter.canal.parse.exception.CanalParseException: java.io.IOException: connect /10.15.85.100:3306 failure Caused by: java.io.IOException: connect /10.15.85.100:3306 failure at com.alibaba.otter.canal.parse.driver.mysql.MysqlConnector.connect(MysqlConnector.java:85) at com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.connect(MysqlConnection.java:90) at com.alibaba.otter.canal.parse.inbound.mysql.MysqlEventParser.preDump(MysqlEventParser.java:86) at com.alibaba.otter.canal.parse.inbound.AbstractEventParser$1.run(AbstractEventParser.java:176) at java.lang.Thread.run(Thread.java:748) Caused by: java.io.IOException: handshake exception: ErrorPacket [errorNumber=1130, fieldCount=-1, message=10.15.84.187' is not allowed to connect to this MySQL server, sqlState=ost ', sqlStateMarker=H] at com.alibaba.otter.canal.parse.driver.mysql.MysqlConnector.negotiate(MysqlConnector.java:168) at com.alibaba.otter.canal.parse.driver.mysql.MysqlConnector.connect(MysqlConnector.java:82) ... 4 more ]
2021-11-30 17:52:10.000 [main] INFO c.a.otter.canal.instance.core.AbstractCanalInstance - subscribe filter change to .*\..*
2021-11-30 17:52:10.000 [main] WARN c.a.o.canal.parse.inbound.mysql.dbsync.LogEventConvert - --> init table filter : ^.*\..*$
2021-11-30 17:52:10.000 [main] INFO c.a.otter.canal.instance.core.AbstractCanalInstance - start successful....
2021-11-30 17:52:21.845 [destination = example , address = /10.15.85.100:3306 , EventParser] ERROR c.a.o.c.p.inbound.mysql.rds.RdsBinlogEventParserProxy - dump address /10.15.85.100:3306 has an error, retrying. caused by com.alibaba.otter.canal.parse.exception.CanalParseException: java.io.IOException: connect /10.15.85.100:3306 failure Caused by: java.io.IOException: connect /10.15.85.100:3306 failure at com.alibaba.otter.canal.parse.driver.mysql.MysqlConnector.connect(MysqlConnector.java:85) ~[canal.parse.driver-1.1.5.jar:na] at com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.connect(MysqlConnection.java:90) ~[canal.parse-1.1.5.jar:na] at com.alibaba.otter.canal.parse.inbound.mysql.MysqlEventParser.preDump(MysqlEventParser.java:86) ~[canal.parse-1.1.5.jar:na] at com.alibaba.otter.canal.parse.inbound.AbstractEventParser$1.run(AbstractEventParser.java:176) ~[canal.parse-1.1.5.jar:na] at java.lang.Thread.run(Thread.java:748) [na:1.8.0_271] Caused by: java.io.IOException: handshake exception: ErrorPacket [errorNumber=1130, fieldCount=-1, message=10.15.84.187' is not allowed to connect to this MySQL server, sqlState=ost ', sqlStateMarker=H] at com.alibaba.otter.canal.parse.driver.mysql.MysqlConnector.negotiate(MysqlConnector.java:168) ~[canal.parse.driver-1.1.5.jar:na] at com.alibaba.otter.canal.parse.driver.mysql.MysqlConnector.connect(MysqlConnector.java:82) ~[canal.parse.driver-1.1.5.jar:na] ... 4 common frames omitted
2021-11-30 17:52:21.846 [destination = example , address = /10.15.85.100:3306 , EventParser] ERROR com.alibaba.ott
is not allowed to connect to this MySQL server
021-11-30 17:32:15.923 [destination = example , address = /10.15.85.100:3306 , EventParser] ERROR c.a.o.c.p.inbound.mysql.rds.RdsBinlogEventParserProxy - dump address /10.15.85.100:3306 has an error, retrying. caused by com.alibaba.otter.canal.parse.exception.CanalParseException: java.io.IOException: connect /10.15.85.100:3306 failure Caused by: java.io.IOException: connect /10.15.85.100:3306 failure at com.alibaba.otter.canal.parse.driver.mysql.MysqlConnector.connect(MysqlConnector.java:85) ~[canal.parse.driver-1.1.5.jar:na] at com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.connect(MysqlConnection.java:90) ~[canal.parse-1.1.5.jar:na] at com.alibaba.otter.canal.parse.inbound.mysql.MysqlEventParser.preDump(MysqlEventParser.java:86) ~[canal.parse-1.1.5.jar:na] at com.alibaba.otter.canal.parse.inbound.AbstractEventParser$1.run(AbstractEventParser.java:176) ~[canal.parse-1.1.5.jar:na] at java.lang.Thread.run(Thread.java:748) [na:1.8.0_271] Caused by: java.io.IOException: handshake exception: ErrorPacket [errorNumber=1130, fieldCount=-1, message=10.15.84.187' is not allowed to connect to this MySQL server, sqlState=ost ', sqlStateMarker=H] at com.alibaba.otter.canal.parse.driver.mysql.MysqlConnector.negotiate(MysqlConnector.java:168) ~[canal.parse.driver-1.1.5.jar:na] at com.alibaba.otter.canal.parse.driver.mysql.MysqlConnector.connect(MysqlConnector.java:82) ~[canal.parse.driver-1.1.5.jar:na] ... 4 common frames omitted
2021-11-30 17:32:15.928 [destination = example , address = /10.15.85.100:3306 , EventParser] ERROR com.alibaba.otter.canal.common.alarm.LogAlarmHandler - destination:example[com.alibaba.otter.canal.parse.exception.CanalParseException: java.io.IOException: connect /10.15.85.100:3306 failure Caused by: java.io.IOException: connect /10.15.85.100:3306 failure at com.alibaba.otter.canal.parse.driver.mysql.MysqlConnector.connect(MysqlConnector.java:85) at com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.connect(MysqlConnection.java:90) at com.alibaba.otter.canal.parse.inbound.mysql.MysqlEventParser.preDump(MysqlEventParser.java:86) at com.alibaba.otter.canal.parse.inbound.AbstractEventParser$1.run(AbstractEventParser.java:176) at java.lang.Thread.run(Thread.java:748) Caused by: java.io.IOException: handshake exception: ErrorPacket [errorNumber=1130, fieldCount=-1, message=10.15.84.187' is not allowed to connect to this MySQL server, sqlState=ost ', sqlStateMarker=H] at com.alibaba.otter.canal.parse.driver.mysql.MysqlConnector.negotiate(MysqlConnector.java:168) at com.alibaba.otter.canal.parse.driver.mysql.MysqlConnector.connect(MysqlConnector.java:82) ... 4 more ]
[destination = example , address = /10.15.85.100:3306 , EventParser] ERROR c.a.o.c.p.inbound.mysql.rds.RdsBinlogEventParserProxy - dump address /10.15.85.100:3306 has an error, retrying. caused by com.alibaba.otter.canal.parse.exception.CanalParseException: java.io.IOException: connect /10.15.85.100:3306 failure Caused by: java.io.IOException: connect /10.15.85.100:3306 failure
] ERROR c.a.otter.canal.server.netty.handler.SessionHandler - something goes wrong with channel:[id: 0x571eaf0c, /10.15.85.100:4181 => /10.15.84.187:11111],
报错原因: 虚拟机canal连接主机mysql失败。
解决方案:
1. 主机端口未开放,需要开放主机端口。
2.mysql对外ip未开放,需要手动设置。
mysql允许其他ip链接 (%表示全部ip,也可以指定ip)
GRANT ALL PRIVILEGES ON *.* TO '账户'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION
刷新权限
flush privileges