数据库报错create connection SQLException,............ errorCode 1129, state HY000

报错com.alibaba.druid.pool.DruidDataSource   : create connection SQLException, url: jdbc:mysql://mysql:3306/config?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai, errorCode 1129, state HY000

错误:Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'

原因:

同一个ip在短时间内产生太多(超过mysql数据库max_connection_errors的最大值)中断的数据库连接而导致的阻塞;

解决办法:

1、提高允许的max_connection_errors数量(我使用此方法):

① 进入Mysql数据库查看max_connection_errors: show variables like '%max_connect_errors%';

② 修改max_connection_errors的数量为1000: set global max_connect_errors=1000;

③ 查看是否修改成功:show variables like '%max_connection_errors%';

永久性修改:vim  my.cnf

修改完配置文件,重启mysql

最后再次查看服务,发现报错没有了,恢复正常。

持续了一段时间又报出了这种错误,排查这台服务器上的服务,最后发现是因为有一个服务没有创建数据库用户,所以导致这个服务一直连接数据库报错导致的。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
根据提供的引用内容,切换到Oracle数据库报错Error querying database. Cause: java.lang.NullPointerException,这种错误通常是由于连接Oracle数据库时出现问题导致的。以下是可能导致此错误的一些原因和解决方法: 1. 检查连接Oracle数据库的URL、用户名和密码是否正确,可以尝试重新输入或更改它们。 2. 检查Oracle数据库是否已启动,如果没有启动,请启动它。 3. 检查Oracle数据库的防火墙设置,确保允许从应用程序服务器访问Oracle数据库。 4. 检查应用程序服务器上的Oracle JDBC驱动程序版本是否与Oracle数据库版本兼容,如果不兼容,请升级驱动程序版本。 5. 检查应用程序服务器上的JDK版本是否与Oracle JDBC驱动程序版本兼容,如果不兼容,请升级JDK版本。 6. 检查应用程序服务器上的数据库连接池配置是否正确,可以尝试重新配置连接池。 7. 检查应用程序服务器上的防火墙设置,确保允许从应用程序服务器访问Oracle数据库。 8. 检查应用程序服务器上的Oracle JDBC驱动程序是否正确安装,如果没有安装,请安装它。 以下是一个可能的解决方案: ```java // 导入Oracle JDBC驱动程序 import oracle.jdbc.driver.OracleDriver; // 连接Oracle数据库 Connection conn = null; try { // 注册Oracle JDBC驱动程序 DriverManager.registerDriver(new OracleDriver()); // 连接Oracle数据库 conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORCL", "username", "password"); } catch (SQLException e) { e.printStackTrace(); } // 执行SQL查询 Statement stmt = null; ResultSet rs = null; try { stmt = conn.createStatement(); rs = stmt.executeQuery("SELECT * FROM table_name"); while (rs.next()) { // 处理查询结果 } } catch (SQLException e) { e.printStackTrace(); } finally { // 关闭数据库连接 try { if (rs != null) { rs.close(); } if (stmt != null) { stmt.close(); } if (conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有人拉屋米

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值