java.sql.SQLException : Access denied for user 'root' @'localhost'

标签 java mysql symfony jdbc

我已经在我的计算机上安装了 lampp 和 Tomcat,因为我需要它们来完成项目。我使用 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 ** i 我在此类中初始化连接

结束类(class)1

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/>");
                        }

最佳答案

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

关于java.sql.SQLException : Access denied for user 'root' @'localhost' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24558094/

相关文章:

mysql - 通过 MySql 进行 SVN Web 身份验证

symfony - 在 Symfony2 中测试文件上传

symfony - Twig 无法调用字符串变量上的方法

java - 如何使用来自数据库的值验证 Tapestry 的表单字段?

javascript - AJAX 不使用 Jquery 从 PHP 文件获取数据

java - Spring RestTemplate 字符集 UTF-8 不起作用

php - 未找到列 : 1054 Unknown column '0' in 'field list' laravel

php - 如何从 Symfony2 URL 中删除 "web/app_dev.php"?

java - Qt中如何调用context.getExternalFilesDir

Java:得到意外的输出