【FlinkCdc】Flink MysqlCdc连接数据库失败,SSLHandshakeException怎么破?

这篇具有很好参考价值的文章主要介绍了【FlinkCdc】Flink MysqlCdc连接数据库失败,SSLHandshakeException怎么破?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

用Flink MysqlCdc同步一个新数据库时,遇到了一个新异常,javax.net.ssl.SSLHandshakeException。根据异常栈信息,mysqlcdc尝试与mysql server建立连接时,连接失败了,报Communications link failure.
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. 如果只看这个信息,会认为了mysql server挂了,或超时了。MysqlCdc与Mysql server停止了通讯交互。
但往一看异常栈,Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate),提示的是SSL握手异常,应该是Mysqlcdc和Mysql server使用的交互不同,或密码错误所致。用mysql client直接连接mysql server,确认是可以连接,mysql server没问题,网络没问题,密码也没问题, 那么就是协议问题了。查看mysqlcdc的文件,有提到与ssl有关的一个参数, ‘jdbc.properties.useSSL’ = ‘false’ ,看起来是mysql server开启了ssl,而mysqlcdc没有开启,通过配置关闭ssl即可。尝试了一下这个参数,顺利解决了问题。文章来源地址https://www.toymoban.com/news/detail-774241.html

com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
	at com.mysql.cj.jdbc.exceptions.SQLError.createCommunicationsException(SQLError.java:174) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:64) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:828) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:448) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:364) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:206) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:476) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:561) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:115) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at com.zaxxer.hikari.HikariDataSource.<init>(HikariDataSource.java:81) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at com.ververica.cdc.connectors.mysql.source.connection.PooledDataSourceFactory.createPooledDataSource(PooledDataSourceFactory.java:61) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at com.ververica.cdc.connectors.mysql.source.connection.JdbcConnectionPools.getOrCreateConnectionPool(JdbcConnectionPools.java:49) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at com.ververica.cdc.connectors.mysql.source.connection.JdbcConnectionFactory.connect(JdbcConnectionFactory.java:54) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at io.debezium.jdbc.JdbcConnection.connection(JdbcConnection.java:890) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at io.debezium.jdbc.JdbcConnection.connection(JdbcConnection.java:885) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at io.debezium.jdbc.JdbcConnection.connect(JdbcConnection.java:418) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at com.ververica.cdc.connectors.mysql.debezium.DebeziumUtils.openJdbcConnection(DebeziumUtils.java:61) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at com.ververica.cdc.connectors.mysql.MySqlValidator.validate(MySqlValidator.java:72) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at com.ververica.cdc.connectors.mysql.source.MySqlSource.createEnumerator(MySqlSource.java:170) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at org.apache.flink.runtime.source.coordinator.SourceCoordinator.start(SourceCoordinator.java:197) ~[flink-dist-1.15.4.jar:1.15.4]
	at org.apache.flink.runtime.operators.coordination.RecreateOnResetOperatorCoordinator$DeferrableCoordinator.resetAndStart(RecreateOnResetOperatorCoordinator.java:394) ~[flink-dist-1.15.4.jar:1.15.4]
	at org.apache.flink.runtime.operators.coordination.RecreateOnResetOperatorCoordinator.lambda$resetToCheckpoint$6(RecreateOnResetOperatorCoordinator.java:144) ~[flink-dist-1.15.4.jar:1.15.4]
	at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:774) ~[?:1.8.0_351]
	at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:750) ~[?:1.8.0_351]
	at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488) ~[?:1.8.0_351]
	at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1975) ~[?:1.8.0_351]
	at org.apache.flink.runtime.operators.coordination.ComponentClosingUtils.lambda$closeAsyncWithTimeout$0(ComponentClosingUtils.java:77) ~[flink-dist-1.15.4.jar:1.15.4]
	at java.lang.Thread.run(Thread.java:750) [?:1.8.0_351]
Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
	at sun.reflect.GeneratedConstructorAccessor50.newInstance(Unknown Source) ~[?:?]
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_351]
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_351]
	at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:151) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at com.mysql.cj.exceptions.ExceptionFactory.createCommunicationsException(ExceptionFactory.java:167) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at com.mysql.cj.protocol.a.NativeProtocol.negotiateSSLConnection(NativeProtocol.java:317) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at com.mysql.cj.protocol.a.NativeAuthenticationProvider.connect(NativeAuthenticationProvider.java:203) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1369) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at com.mysql.cj.NativeSession.connect(NativeSession.java:133) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:948) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:818) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	... 28 more
Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
	at sun.security.ssl.HandshakeContext.<init>(HandshakeContext.java:171) ~[?:1.8.0_351]
	at sun.security.ssl.ClientHandshakeContext.<init>(ClientHandshakeContext.java:106) ~[?:1.8.0_351]
	at sun.security.ssl.TransportContext.kickstart(TransportContext.java:238) ~[?:1.8.0_351]
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:410) ~[?:1.8.0_351]
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:389) ~[?:1.8.0_351]
	at com.mysql.cj.protocol.ExportControlled.performTlsHandshake(ExportControlled.java:335) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at com.mysql.cj.protocol.StandardSocketFactory.performTlsHandshake(StandardSocketFactory.java:194) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at com.mysql.cj.protocol.a.NativeSocketConnection.performTlsHandshake(NativeSocketConnection.java:101) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at com.mysql.cj.protocol.a.NativeProtocol.negotiateSSLConnection(NativeProtocol.java:308) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at com.mysql.cj.protocol.a.NativeAuthenticationProvider.connect(NativeAuthenticationProvider.java:203) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1369) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at com.mysql.cj.NativeSession.connect(NativeSession.java:133) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:948) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:818) ~[flink-connector-mysql-cdc-2.3-SNAPSHOT.jar:2.3-SNAPSHOT]
	... 28 more
2023-05-22 18:07:23,365 ERROR com.ververica.cdc.connectors.mysql.debezium.DebeziumUtils    [] - Failed to open MySQL connection
com.zaxxer.hikari.pool.HikariPool$PoolInitializationException: Failed to initialize pool: Communications link failure

到了这里,关于【FlinkCdc】Flink MysqlCdc连接数据库失败,SSLHandshakeException怎么破?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Oracle连接数据库提示 ORA-12638:身份证明检索失败

    ORA-12638 是一个 Oracle 数据库的错误代码,它表示身份验证(认证)检索失败。这通常与数据库连接相关,可能由于以下几个原因之一引起: 错误的用户名或密码: 提供的数据库用户名或密码不正确,导致身份验证失败。 配置问题: 数据库配置文件(如 sqlnet.ora 或 listener.o

    2024年02月13日
    浏览(48)
  • flink cdc 连接posgresql 数据库相关问题整理

    01 、flink posgresql cdc 前置工作 1,更改配置文件postgresql.conf wal_level是必须更改的,其它参数选着性更改,如果同步表数量超过10张建议修改为合适的值 更改配置文件postgresql.conf完成,需要重启pg服务生效,所以一般是在业务低峰期更改 2,新建用户并且给用户复制流权限 3,发

    2024年02月07日
    浏览(36)
  • MySQL运维实战(3.2) 常见数据库连接失败问题排查

    作者:俊达 我们经常会遇到一些数据库连接失败或访问报错的问题。收集并分析具体的报错信息,可以帮助我们迅速定位问题。 1、客户端到服务端的网络是否畅通,服务端端口是否能连通。 使用ping、telnet等工具探测服务端的端口是否能访问。 如果端口不通,要先排除网络

    2024年01月21日
    浏览(49)
  • FlinkCDC实时读PostgreSQL数据库

    1.更改配置文件postgresql.conf wal_level是必须更改的,其它参数选着性更改,如果同步表数量超过10张建议修改为合适的值 更改配置文件postgresql.conf完成,需要重启pg服务生效,所以一般是在业务低峰期更改 2.新建用户并且给用户复制流权限 3.发布表

    2024年02月12日
    浏览(31)
  • QT连接MySql数据库失败,编译驱动问题,最详细解决办法

    各位读者你们好🔥 此篇是本专栏的第一篇,本专栏专门收录在学习过程中遇到的环境配置、软件问题等开发环境方面的问题。🚀🚀🚀 刚刚转阴就迫不及待的赶紧写一篇博客来解决一直落下的一个问题: 关于QT和MySql数据库的连接问题😷(在本人经过整整三天的无限踩坑之

    2024年02月05日
    浏览(42)
  • (已解决)java连接数据库失败PKIX path building failed

    环境:eclipse,sql server 2022,JDK19 用的JDBC:mssql-jdbc-12.2.0.jre11.jar 连接数据库时发生错误: com.microsoft.sqlserver.jdbc.SQLServerException : 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException : unabl

    2024年02月08日
    浏览(30)
  • 数据库数据迁移到达梦数据库(DM8)详细步骤,mysql迁移难题解决(数据库连接失败,Communications link failure,TaskDispatcher Error,索引重名)。

    首先达梦数据库和MySQL是两种不同的关系型数据库管理系统,它们有以下几点区别: 开发公司不同:达梦数据库是由中国达梦公司开发的,而MySQL是由瑞典MySQL AB公司开发的。 数据库类型不同:达梦数据库是商业数据库,而MySQL是开源数据库。 数据库功能不同:达梦数据库在

    2024年01月16日
    浏览(42)
  • MySQL数据库连接失败,报错:ERROR 1040 (HY000): Too many connections

    MySQL数据库连接失败,报错:ERROR 1040 (HY000): Too many connections 连接MySQL突然出现“ERROR 1040 (HY000): Too many connections”。根据字面意思,应该是数据库的终端太多,下面修改mysql的配置文件解决。 MySQL默认连接数是151 临时配置 如果在生产环境数据库出现了最大连接数建议使用临时

    2024年02月12日
    浏览(32)
  • Bug解决:获取JDBC连接失败;嵌套异常是java.sql.SQLException:无法从底层数据库获取连接

    出现的问题 Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: Connections could not be acquired from the underlying database! 说白了就是连接数据库出问题了,寻找了一个半小时才发现错误 从头到尾检查了一遍,这里使用的是C3P0连接池。 解决方法 1.如果使用的是c3p0连接池,prop

    2023年04月08日
    浏览(35)
  • windows 达梦数据库服务连接时提示:登录服务器失败,错误号6001,错误消息:网络通信异常 之数据库服务不存在的处理方式

    在windows客户端上连接部署在windows操作系统上的达梦数据库, 使用DM管理工具连接数据库    正确输入用户名与密码之后点击确定按钮之后出现: 登录服务器失败,错误号6001,错误消息:网络通信异常  现象 如下图所示:   在之前也发布了一篇关于此错误的博文: 达梦管

    2024年02月11日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包