发布于 2016-01-05 09:37:07 | 443 次阅读 | 评论: 1 | 来源: PHPERZ
Tomcat 开源Web应用服务器
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。
平时在实验室接触得比较多的服务器便是Tomcat,在部署项目时不定时的会遇到一些问题。所以就决定把自己遇到过的问题归纳成博客,巩固知识,也方便大家查找。(不定期更新。。。。。)。
windows平台
问题原因部分是自己的见解,如有错误,请各位指正。
1.java.sql.SQLException: null, message from server: "Host 'xxx.xxx.xxx.xxx' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'"
在部署项目到Tomcat时,服务启动起来以后,但是不能够正常运行,查看Tomcat的日志发现如上错误。此错误的原因是,mysql已经得到了大量(max_connect_errors)的主机’hostname’的在中途被中断了的连接请求累计超过10次,就再也无法连接上mysqld服务。比如项目中的数据库密码一直是错误的,但是又不断的在服务器上部署,导致错误的链接信息超过了10次(系统默认),数据库便会阻止对应的Host进行链接,这是数据库的一个自我保护错失,防止被暴力破解密码。
解决办法:
① 重启数据库,或者在mysql下进行FLUSH HOSTS;操作。这两个操作的原理是刷新mysql的数据,清空错误的链接信息。
② 在mysql的配置文件下修改默认允许的最大错误连接数。
max_connect_errors = 10 //表示最大允许10次
2.java.lang.IllegalArgumentException: MALFORMED
自己在遇到这个问题的原因都是因为war包文件中出现了中文命名的文件(图片等),网上还有其他的问题原因和解决办法暂时还没有遇到。
3.java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: NO)
这个问题很常见也很简单,意思是链接数据库的用户名(root)验证失败(没有使用密码,如果using password:yes 使用了密码),检查数据库配置,修改密码即可。