码迷,mamicode.com
首页 > 其他好文 > 详细

这是我的第一篇随笔

时间:2019-05-21 14:37:24      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:false   set   ike   cti   use   方案   prope   orm   char   

Java使用mysql-jdbc连接MySQL出现如下警告:

Establishing SSL connection without server‘s identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn‘t set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to ‘false‘. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.

 

原因是MySQL在高版本需要指明是否进行SSL连接。解决方案如下:

在mysql连接字符串url中加入ssl=true或者false即可,如下所示。

 

url=jdbc:mysql://127.0.0.1:3306/framework?characterEncoding=utf8&useSSL=true

但是又出现了另一种情况。

Host is blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts‘

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

解决方法:

查看连接情况:

select SUBSTRING_INDEX(host,‘:‘,1) as ip , count(*) from information_schema.processlist group by ip;

  • 1.首先使用 root 登录 mysql -u root -p

  • 2.提高允许的max_connection_errors数量(治标不治本):

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

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

    • ③ 修改 max_connections 的数量为1000 :set global max_connections = 1000;

  • 3.使用 mysql> flush-hosts; 命令清理一下hosts文件;

    • ① 最简单的方法是root登录后,直接使用 mysql> flush hosts; 命令;

这是我的第一篇随笔

标签:false   set   ike   cti   use   方案   prope   orm   char   

原文地址:https://www.cnblogs.com/qingwen1108/p/10899578.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!