mysql - 无法从tomcat连接到MySQL数据库

标签 mysql jsp connection tomcat6

嘿,我收到这个错误:

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;
};

有人知道为什么会出现该错误吗?

编辑: 服务 mysql 状态给出了这个:

 * /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

最佳答案

驱动程序错误 - 使用“com.mysql.jdbc.Driver”类。

JSP 中的 Scriptlet 代码?哦,我的 - 这不好。

但这些不是您问题的原因。

您是否授予该用户名和密码的权限?以下是示例步骤:

  1. 以root身份登录:mysql –h localhost –u root –p ; password = <你的管理员密码>
  2. “创建数据库x;”
  3. “创建由‘q’标识的用户 p;”
  4. “将 x.* 上的所有内容授予‘x’@’%’;”

提供您在连接数据库时用于创建用户的用户名 p 和密码 q。

确保服务已启动并在端口 3306 上监听。打开命令 shell 并键入“netstat -a”并在端口 3306 上查找监听器。

This entry来自 MySQL 错误数据库的信息也可能是相关的。

为了将来引用,我发现将我收到的任何错误消息粘贴到 Google 中很有帮助。我可能不是第一个遇到特定问题的人。

即使您设法解决了这个问题并使其正常工作,这仍然是一个存在致命缺陷的设计。 JSP 直接连接到数据库 - 没有安全性,除了您以纯文本形式输入的用户名和密码。你真的不想这样做。

您遇到了连接问题。对于初学者,将其与 JSP 分开。

  1. 您可以在命令 shell 中使用 MySQL 管理工具进行连接吗?
  2. 你能写一个简单的 Java 类来成功连接到数据库吗?

关于mysql - 无法从tomcat连接到MySQL数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1735224/

相关文章:

mysql全文搜索完全匹配没有其他词

java - jsp中如何访问静态 boolean 变量

javascript - 无法获取 jQuery 日期选择器

javascript - 突出显示动态创建的行

python - Flask-Mail 队列消息被发送到不同的电子邮件

mysql - 如何使用 OSGI 设置 MySQL 数据库连接?

mysql - MySQL 查询框架是否正确?

mysql事务内的binlog是否保证表的更新顺序

MySQL检测大小写?

php - ldap_搜索() : Search: Operations error again