java.sql.SQLException:拒绝用户访问';根'@';本地主机';
我已经在我的计算机上安装了带有Tomcat的LAMP,因为我需要它们来完成一个项目。我已经使用Symfony创建了应用程序的一部分。我创建了另一个应用程序,但这次使用的是Tomcat。这两个应用程序使用相同的数据库,但是运行Tomcat的应用程序无法连接 当我在电脑上运行两个项目时,一切都正常;但是,当我在服务器上运行它们时,只有Symfony应用程序才能访问数据库 我在运行Tomcat时遇到以下异常java.sql.SQLException:拒绝用户访问';根'@';本地主机';,java,mysql,symfony,jdbc,Java,Mysql,Symfony,Jdbc,我已经在我的计算机上安装了带有Tomcat的LAMP,因为我需要它们来完成一个项目。我已经使用Symfony创建了应用程序的一部分。我创建了另一个应用程序,但这次使用的是Tomcat。这两个应用程序使用相同的数据库,但是运行Tomcat的应用程序无法连接 当我在电脑上运行两个项目时,一切都正常;但是,当我在服务器上运行它们时,只有Symfony应用程序才能访问数据库 我在运行Tomcat时遇到以下异常 java.sql.SQLException: Access denied for user
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: NO)
有人知道这里有什么问题吗
symfony数据库连接
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: null
database_name: blablablabla
database_user: root
database_password: null
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: null
mailer_password: null
locale: en
secret: ThisTokenIsNotSoSecretChangeIt
package com.beans;
public class Bean_BaseDeDonnee:
private String nom =jdbc:mysql://127.0.0.1:3306/blablablabla;
tomcat项目连接
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: null
database_name: blablablabla
database_user: root
database_password: null
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: null
mailer_password: null
locale: en
secret: ThisTokenIsNotSoSecretChangeIt
package com.beans;
public class Bean_BaseDeDonnee:
private String nom =jdbc:mysql://127.0.0.1:3306/blablablabla;
**class1:Bean_basedDonnee.java**i初始化此类中的连接
结束类别1
class2我在这里做所有必要的导入
试试看
{
Class.forName(“com.mysql.jdbc.Driver”);
setAttribute(“texte”,“le driver aététrouvédans le classpath!
”);
}
catch(classnotfounde异常)
{
request.setAttribute(“texte”,“收费错误:驱动程序n'a pasététrouvédans le classpath!
”);
}
Bean_basededonne bd=新的Bean_basededonne();
/*多涅斯基地酒店*/
字符串url=bd.getNombd();
字符串usilisateur=“root”;
字符串motdepase=“”;
连接连接=null;
Statement=null;
结果集resultstat=null;
setAttribute(“texte”,url);
尝试
{
connexion=DriverManager.getConnection(url、usilisateur、motDePasse);
/*根据要求提供服务*/
statement=connexion.createStatement();
}
捕获(SQLE异常)
{
setAttribute(“texte”,“n'a pasététrouvédans le classpath!
”);
}
看起来您的数据库指向的是localhost 127.0.0.1
。在服务器配置中,您应该确保它指向运行DB服务器的机器的地址,除非应用程序和数据库在同一台机器上运行。Tomcat只是传递工具。数据库正在向您发送该异常。它告诉你:没有密码,你不能以root用户身份登录。可能您实际上没有从本地主机进行连接,因此您需要从数据库内部授予访问权限,以便在本地主机外部进行连接。如果不允许我在没有密码的情况下以root身份登录,为什么symfony的连接没有失败???您是否在本地安装了mysql服务器,以及允许通过TCP进行远程连接的设置?通常我在本地安装了mysql服务器。我说在本地所有都可以。这两个应用程序运行得很好。但是在我几天购买的专用服务器上,应用程序与tomcat一起运行,但没有运行