From f63ce4ffe623a6bbcaca5023fd3512e493d442c0 Mon Sep 17 00:00:00 2001 From: agapple Date: Thu, 28 Mar 2019 20:45:16 +0800 Subject: [PATCH] fixed mysql auth --- deployer/src/main/resources/example/instance.properties | 1 - .../otter/canal/parse/driver/mysql/MysqlConnector.java | 4 ++-- .../mysql/packets/client/ClientAuthenticationPacket.java | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/deployer/src/main/resources/example/instance.properties b/deployer/src/main/resources/example/instance.properties index bc1db836..514a231f 100644 --- a/deployer/src/main/resources/example/instance.properties +++ b/deployer/src/main/resources/example/instance.properties @@ -33,7 +33,6 @@ canal.instance.tsdb.enable=true canal.instance.dbUsername=canal canal.instance.dbPassword=canal canal.instance.connectionCharset = UTF-8 -canal.instance.defaultDatabaseName =test # enable druid Decrypt database password canal.instance.enableDruid=false #canal.instance.pwdPublicKey=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALK4BUxdDltRRE5/zXpVEVPUgunvscYFtEip3pmLlhrWpacX7y7GCMo2/JM6LeHmiiNdH1FWgGCpUfircSwlWKUCAwEAAQ== diff --git a/driver/src/main/java/com/alibaba/otter/canal/parse/driver/mysql/MysqlConnector.java b/driver/src/main/java/com/alibaba/otter/canal/parse/driver/mysql/MysqlConnector.java index 3a4c1f4c..ed5e6526 100644 --- a/driver/src/main/java/com/alibaba/otter/canal/parse/driver/mysql/MysqlConnector.java +++ b/driver/src/main/java/com/alibaba/otter/canal/parse/driver/mysql/MysqlConnector.java @@ -37,7 +37,7 @@ public class MysqlConnector { private String password; private byte charsetNumber = 33; - private String defaultSchema = "test"; + private String defaultSchema; private int soTimeout = 30 * 1000; private int connTimeout = 5 * 1000; private int receiveBufferSize = 16 * 1024; @@ -187,7 +187,7 @@ public class MysqlConnector { clientAuth.setServerCapabilities(handshakePacket.serverCapabilities); clientAuth.setDatabaseName(defaultSchema); clientAuth.setScrumbleBuff(joinAndCreateScrumbleBuff(handshakePacket)); - clientAuth.setAuthPluginName(handshakePacket.authPluginName); + clientAuth.setAuthPluginName("mysql_native_password".getBytes()); byte[] clientAuthPkgBody = clientAuth.toBytes(); HeaderPacket h = new HeaderPacket(); diff --git a/driver/src/main/java/com/alibaba/otter/canal/parse/driver/mysql/packets/client/ClientAuthenticationPacket.java b/driver/src/main/java/com/alibaba/otter/canal/parse/driver/mysql/packets/client/ClientAuthenticationPacket.java index 5a119905..1750b255 100644 --- a/driver/src/main/java/com/alibaba/otter/canal/parse/driver/mysql/packets/client/ClientAuthenticationPacket.java +++ b/driver/src/main/java/com/alibaba/otter/canal/parse/driver/mysql/packets/client/ClientAuthenticationPacket.java @@ -17,7 +17,7 @@ public class ClientAuthenticationPacket extends PacketWithHeaderPacket { private int clientCapability = Capability.CLIENT_LONG_PASSWORD | Capability.CLIENT_LONG_FLAG | Capability.CLIENT_PROTOCOL_41 | Capability.CLIENT_INTERACTIVE | Capability.CLIENT_TRANSACTIONS | Capability.CLIENT_SECURE_CONNECTION - | Capability.CLIENT_MULTI_STATEMENTS; + | Capability.CLIENT_MULTI_STATEMENTS | Capability.CLIENT_PLUGIN_AUTH; private String username; private String password; private byte charsetNumber;