请教一下,antdb数据库连接时出现“adb: could nocan't connect to MySQL server onserver: Connection refused”该怎么办?

本文介绍如何通过DBeaver连接和管理云原生数据仓库AnalyticDB MySQL版2.0集群。开始使用DBeaver之前,您需要先完成以下准备工作。安装DBeaver。安装MySQL JDBC驱动。打开DBeaver,单击数据库>新建连接。在创建新连接页面,连接类型选择MySQL,单击下一步。在创建新连接页面,按照页面提示进行参数配置。服务器地址分析型数据库MySQL版的连接地址。端口分析型数据库MySQL版对应的端口。数据库数据库的名字。用户名阿里云账号或者已授权RAM子账号的Access Key ID。密码阿里云账号或者已授权RAM子账号的Access Key Secret。完成上述参数配置后,单击测试连接…测试连通性,测试成功后单击完成连接AnalyticDB for MySQL 2.0数据库。 成功连接至AnalyticDB for MySQL 2.0数据库后,您就可以通过DBeaver对AnalyticDB for MySQL 2.0数据库进行管理。
报错使用JDBC连接数据库报错,确认其他路径账户密码等均正确com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:404)
at com.mysql.jdbc.Util.getInstance(Util.java:387)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:862)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2331)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2084)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:795)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:44)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:404)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:400)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:327)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at com.jarvis.friday.JDBCUtils.getConnection(JDBCUtils.java:35)
at com.jarvis.friday.Demo01.findAll(Demo01.java:20)
at com.jarvis.friday.Demo01.main(Demo01.java:12)
Caused by: java.lang.NullPointerException
at com.mysql.jdbc.ConnectionImpl.getServerCharset(ConnectionImpl.java:3004)
at com.mysql.jdbc.MysqlIO.sendConnectionAttributes(MysqlIO.java:1908)
at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1837)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1207)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2254)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2285)
... 15 more
Process finished with exit code 0
解决检查所有数据,发现都正确,那就怀疑到jar包本身,本地mysql版本是8.0.21版本,我检查了我mysql-connector-java.jar是5.1.37版本,版本不匹配,所以去下载一个对应的版本下载jar包官方网址:https://search.maven.org/即解决报错
前言在使用springBoot集成Mybatis时,遇到连接驱动错误,以此记录解决方法;解决方法启动程序,程序正常启动,未报错,但控制台显示错误信息,如下:大致意思是:驱动程序是通过SPI自动注册的,而新的驱动程序类是com.mysql.cj.jdbc.Driver驱动程序,不能是com.mysql.jdbc.Driver,查看我的application.yml文件中的驱动用的是com.mysql.jdbc.Driver:此时修改com.mysql.jdbc.Driver为com.mysql.cj.jdbc.Driver,项目重新启动,正常运行。但在进行数据库sql操作时,发现报错,主要报错为:java.sql.SQLNonTransientConnectionException:Could not create connection to database server. Attempted reconnect 3 times. Giving up. 如下:查看控制台信息,发现mysql驱动包为mysql-connector-java-8.0.22.jar,但本地的mysql版本为5.1.25,点击pom.xml的mysql-connector-java,发现在不设置版本的情况下,默认使用的是8.0.22:故将其版本修改为与本地数据库相对应版本另外,需要注意的是,在将mysql版本改为5之后,application.yml文件中mysql的驱动需要改为com.mysql.jdbc.Driver,此时项目正常启动,此时测试sql操作时正常。额外说明:mysql驱动com.mysql.cj.jdbc.Driver是mysql-connector-java 6 中的特性,版本大于6的时候才使用com.mysql.cj.jdbc.Driver,并且还需要在数据源后面添加一个时区:serverTimezone=UTC(或者为Asia/Shanghai),并且此参数不能为空。总结mysql驱动需要与连接的数据库版本相对应(1)若数据库版本为5.x.x,则在配置文件中的驱动为:com.mysql.jdbc.Driver,并且查看xml文件中的mysql驱动依赖,改为相应版本即可;(2)若数据库版本为8.x.x,则在配置文件中的驱动为:com.mysql.cj.jdbc.Driver,并且在url后面加上设置时区的参数serverTimezone=UTC(或者为Asia/Shanghai)如:jdbc:mysql://localhost:3306/sboottest?useSSL=false&useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&autoReconnect=true&failOverReadOnly=false&maxReconnect&serverTimezone=Asia/Shanghai ,同样,将xml文件中的mysql驱动依赖改为相应版本即可。

我要回帖

更多关于 adb提示inaccessible 的文章

 

随机推荐