嘿,我收到了这个错误:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:
Could not create connection to database server.
Attempted reconnect 3 times. Giving up.
我只是想连接数据库。使用此代码
<%@page import="java.sql.*"%>
<%
try{
// Class.forName("com.mysql.jdbc.Driver");
Class.forName("org.gjt.mm.mysql.Driver");
out.println("found");
} catch (ClassNotFoundException ex){
out.println("Erro<br/>");
out.println(ex.toString());
} catch (Exception e){
out.println(e.toString());
}
Connection ocon;
try{
ocon = DriverManager.getConnection("jdbc:mysql://localhost/cpjcoimbra?autoReconnect=true", "*****", "*****"); //password matches
out.print("connected");
} catch (Exception e){
out.println(e.toString()+"<br/>");
}
%>
它确实找到了驱动程序但我在尝试连接数据库时遇到了错误。
我对catalina 50.local.policy
有这个许可grant codeBase "file:/var/lib/tomcat6/WEB-INF/lib/-" {
permission java.security.AllPermission;
};
任何人都知道为什么会出现这个错误?
编辑: service mysql status给出了这个:
* /usr/bin/mysqladmin Ver 8.42 Distrib 5.1.37, for debian-linux-gnu on i486
Copyright 2000-2008 MySQL AB, 2008 Sun Microsystems, Inc.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license
Server version 5.1.37-1ubuntu5
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/run/mysqld/mysqld.sock
Uptime: 1 hour 32 min 21 sec
Threads: 1 Questions: 103 Slow queries: 0 Opens: 171 Flush tables: 1 Open tables: 41 Queries per second avg: 0.18
答案 0 :(得分:2)
驱动程序错误 - 使用“com.mysql.jdbc.Driver”类。
JSP中的Scriptlet代码?哦,我的 - 那不好。
但那些不是你问题的原因。
您是否授予该用户名和密码的权限?以下是示例步骤:
提供用于在连接数据库时创建用户的用户名p和密码q。
确保服务已启动并侦听端口3306.打开命令shell并键入“netstat -a”并在端口3306上查找侦听器。
来自MySQL错误数据库的This entry也可能是相关的。
为了将来参考,我发现将我收到的任何错误消息粘贴到Google中会很有帮助。我可能不是第一个遇到特定问题的人。
即使你设法解决这个问题并让它发挥作用,这仍然是一个致命的缺陷设计。 JSP直接连接到数据库 - 没有安全性,除了您在纯文本中输入的用户名和密码。你真的不想这样做。
您遇到了连接问题。将其与JSP分开,作为初学者。
答案 1 :(得分:0)
我将MySQL从5.1降级到5.0,现在一切正常。必须是5.1版本中的某种错误。
非常感谢您的帮助:)