一、程序运行一段时间后,tomcat启动后,连接池不能使用,拿不到数据库连接,查看catalina.out发现如下错误:
[http-80-35] ERROR sls.database.DBConn - org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create Poola
bleConnectionFactory (null, message from server: Host localhost is blocked because of many connection errors; unblock with mysqladmin flush-hosts)
二、出现的原因:
数据库的错误链接处达到最大,数据库服务器拒绝连接。
由于出现某台host连接错误次数等于max_connect_errors(默认10) ,主机'host_name'再次尝试时被屏蔽。可有效反的防止dos攻击,使用'mysqladmin flush-hosts'解除屏蔽。【连接次数失败过多,并超过max_connect_erros的值后,服务器会直接拒绝来源机器的所有连接,只要把mysql server默认 max_connect_errors = 10
把这个值设置大点就好了,记得一定要执行mysqladmin flush-hosts命令来解锁,原来的主机才可以恢复正常连接的.】
三、解决方案:
1.查看数据库允许的错误链接数:
show status 看那个abort_client.
2.运行:
mysqladmin flush-hosts命令,解除数据库的连接屏蔽,重新允许数据库被访问。
3.也可以重启mysql数据库,这样,也可以将错误链接数清零。
4.修改my.inf或者:my.cnf修改max_connect_errors的值,可以适当大些。
配置文件中,如果没有此键值,请在[mysqld]内增加该值。
# Maximum amount of errors allowed per host. If this limit is reached,
# the host will be blocked from connecting to the MySQL server until
# "FLUSH HOSTS" has been run or the server was restarted. Invalid
# passwords and other errors during the connect phase result in
# increasing this value. See the "Aborted_connects" status variable for
# global counter.
max_connect_errors = 10
分享到:
相关推荐
max_connect_errors是一个MySQL中与安全有关的计数器值,它负责阻止过多尝试失败的客户端以防止暴力破解密码的情况。max_connect_errors的值与性能并无太大关系。 默认情况下,my.cnf文件中可能没有此行,如果需要...
max_connect_errors=10 # 服务端使用的字符集默认为utf8mb4 character-set-server=utf8mb4 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“mysql_native_password”插件认证 #mysql_...
Linux下安装mysql安装包安装及详细步骤 (有...max_connect_errors = 1000 innodb_file_per_table=1 lower_case_table_names=1 character_set_server=utf8 init_connect='SET NAMES utf8' max_allowed_packet = 16M
1. 登录失败:执行命令查询max_connect_errors:show variables like ‘%max_connect_errors%’;返回值 max_connect_errors = 100。 2. 登录失败:可以使用插件 connection_control 和 connection_control_failed_...
max_connect_errors=10 # 服务端使用的字符集默认为UTF8 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“mysql_native_password”插件认证 #mysql_native_...
- `max_connect_errors`:允许每个客户端的最大错误次数,超过后会被暂时拒绝。 - `table_cache`:服务器缓存的表句柄数量,增加能提升性能,但也需要考虑操作系统文件描述符限制。 - `external-locking`:开启文件...
max_connect_errors=10 # 服务端使用的字符集默认为UTF8 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“mysql_native_password”插件认证 #mysql_native_...
max_connect_errors = 1000 table_open_cache = 1024 external-locking = FALSE max_allowed_packet = 32M sort_buffer_size = 1M join_buffer_size = 1M thread_cache_size = 600 #thread_concurrency = 8 #query_...
max_connect_errors=100 character-set-server=utf8 default-storage-engine=INNODB default_authentication_plugin=mysql_native_password [mysql] default-character-set=utf8 [client] port=3306 default-...
5. `max_connect_errors`:每个主机允许的最大连接错误次数,超过后会暂时阻止该主机的连接。 6. `table_open_cache`:设定MySQL可以同时打开的表的数量,与系统资源和并发查询量有关。 7. `max_allowed_packet`:...
* max_connect_errors: 指定了每个主机的连接请求异常中断的最大次数,默认为 6000。 * table_cache: 指定了表高速缓存的大小,默认为 614。 3. 表高速缓存(Table Cache) Table Cache 是 MySQL 服务器的一个重要...
- `max_connect_errors = 6000`:每个主机的连接错误最大次数,超过后会禁止该主机的连接请求。 - `table_cache = 614`:表缓存大小,用于存放已打开的表,提高表的打开速度。 - `external-locking = FALSE`:...
max_connect_errors=10 # 服务端使用的字符集默认为 utf8mb4 character-set-server=utf8mb4 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB # 默认使用“mysql_native_password”插件认证 default...
max_connect_errors=10 character-set-server=utf8mb4 default-storage-engine=INNODB default_authentication_plugin=mysql_native_password [mysql] default-character-set=utf8mb4 [client] port=3306 default-...
* `max_connect_errors`:指定了每个主机的连接请求异常中断的最大次数。 * `table_cache`:指定了表调整缓冲区的大小。 四、缓存配置 * `table_cache`:指定了表高速缓存的大小。 * `sort_buffer_size`:指定了...
max_connect_errors=10 character-set-server=utf8mb4 default-storage-engine=INNODB default_authentication_plugin=mysql_native_password [mysql] default-character-set=utf8mb4 [client] port=3306 default-...
可以通过调整`max_connect_errors`变量来设置封锁前允许的最大错误次数。 5. **Too many connections**: 当达到`max_connections`限制时,无法建立更多连接。若需要增加连接数,需要重启mysqld服务并增大`max_...
`max_connect_errors`设定的是同一主机可以尝试连接的最大错误次数,超过该次数,MySQL将禁止该主机的连接。这有助于防止恶意攻击或错误配置导致的大量无效连接尝试。 `open_files_limit`参数限制了MySQL可以同时...