当我重新启动tomcat 8时,在CentOS 7上使用hibernate的spring mvc应用程序突然无法创建数据库连接。这意味着我无法登录到应用程序。数据库连接工作很长时间。我最近做的唯一更改是按照this OpenVPN tutorial中的说明进行操作,但教程中使用firewalld
代替iptables
除外。我不确定OpenVPN更改是否会导致此问题,但我几乎完成了本教程中的所有步骤,只是为了检查:yum remove openvpn easy-rsa -y
,删除firewalld更改等等)但问题仍然存在。
如何让我的应用再次成功连接到数据库?
我的数据库连接字符串是:
jdbc.url=jdbc:mysql://localhost:3306/atest?autoReconnect=true
tomcat启动期间的相关消息是:
INFO ConnectionProviderInitiator - HHH000130: Instantiating explicit connection provider: org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider
WARN JdbcServicesImpl - HHH000342: Could not obtain connection to query metadata : Could not create connection to database server. Attempted reconnect 3 times. Giving up.
INFO Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQLDialect
INFO LobCreatorBuilder - HHH000422: Disabling contextual LOB creation as connection was null
我还检查了其他一些事情,例如确认密码是否正确,使用shell登录数据库以确认密码正常工作等等。
编辑
我通过cd /etc
然后ls -al
检查了/ etc的内容,结果包括以下内容:host.conf, hostname, hosts, hosts.allow, hosts.deny
。我刚刚检查了每个文件,并且自上次修改它们之后,它们的内容似乎没有改变,早在这个问题出现之前。
根据@ shinjw的请求,/ etc / hosts包含以下内容,但是在问题出现之前很久就没有改变:
127.0.0.1 localhost.localdomain localhost
# Auto-generated hostname. Please do not remove this comment.
abc.de.fgh.ij mydomain.com mydomain
::1 ip6-localhost ip6-loopback