0
我在計算機上安裝了lampp和Tomcat,因爲我需要它們作爲項目。我用Symfony創建應用程序的一部分。我創建了另一個應用程序,但這次使用Tomcat。這兩個應用程序使用相同的數據庫,但運行Tomcat的應用程序無法連接。java.sql.SQLException:拒絕用戶'root'@'localhost'的訪問
當我從我的電腦上運行這兩個項目時,一切正常;但是當我在服務器上運行它們時,只有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;
** 1類: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/>");
}
Tomcat只是送貨員。數據庫正在向您發送該異常。它告訴你:沒有密碼,你不能以root身份登錄。實際上,您可能並未從本地主機連接,因此您需要授予數據庫內的訪問權限以便連接到本地主機之外。 – Gimby
如果我不允許以root用戶的身份登錄,爲什麼symfony的連接不會失敗??? – user3786032
你是否在本地安裝了mysql服務器,並設置爲允許通過TCP進行遠程連接? –