java.sql.SQLException:用户'root'@'localhost'拒绝访问

时间:2014-07-03 15:43:13

标签: java mysql symfony jdbc

我已经在我的计算机上安装了带有Tomcat的lampp,因为我需要它们用于项目。我已经使用Symfony创建了应用程序的一部分。我已经创建了另一个应用程序,但这次使用的是Tomcat。这两个应用程序使用相同的数据库,但运行Tomcat的应用程序无法连接。

当我从我的电脑上运行这两个项目时,一切正常;但是当我在我的服务器上运行它们时,只有Symfony应用程序能够访问数据库。

运行Tomcat时出现以下异常

 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

tomcat项目连接

  package com.beans;
public class Bean_BaseDeDonnee:


private String nom =jdbc:mysql://127.0.0.1:3306/blablablabla;

** class1:Bean_BaseDeDonnee.java **我我在这个类中初始化连接

结束class1

class2 我在这里进行所有必要的导入

       try
                    {

                       Class.forName( "com.mysql.jdbc.Driver" );
                        request.setAttribute( "texte", "le driver a été trouvé dans le classpath ! <br/>");
                    }

                       catch ( ClassNotFoundException e ) 
                    {
                     request.setAttribute( "texte", "Erreur lors du chargement : le driver n'a pas été trouvé dans le classpath ! <br/>");
                    }


                           Bean_BaseDeDonnee bd = new Bean_BaseDeDonnee();


                            /* Connexion à la base de données */
                            String url = bd.getNombd();
                            String utilisateur = "root";
                            String motDePasse = "";
                            Connection connexion = null;
                            Statement statement = null;
                            ResultSet resultat = null;
                            request.setAttribute( "texte", url);


                        try 
                        {
                        connexion = DriverManager.getConnection( url, utilisateur, motDePasse );

                        /* Création de l'objet gérant les requêtes */
                        statement = connexion.createStatement();
                        } 
                        catch (  SQLException e ) 
                        {
                        request.setAttribute( "texte", " n'a pas été trouvé dans le classpath ! <br/>");
                        }

1 个答案:

答案 0 :(得分:0)

看起来您的数据库指向localhost 127.0.0.1。在服务器配置中,您应确保这指向运行数据库服务器的计算机的地址 - 除非应用程序和数据库在同一台计算机上运行。

相关问题