Maison > Java > javaDidacticiel > le corps du texte

Pourquoi est-ce que j'obtiens une erreur « java.sql.SQLException : accès refusé » lors de la connexion à MySQL ?

DDD
Libérer: 2024-10-25 03:19:02
original
290 Les gens l'ont consulté

Why Am I Getting a

Accès à MySQL avec des autorisations utilisateur insuffisantes : résolution de "java.sql.SQLException : accès refusé"

Rencontre de l'exception "java.sql. SQLException : Accès refusé » lors de la connexion à une base de données MySQL via Java peut être frustrant. Cette erreur indique généralement que l'utilisateur qui tente de se connecter ne dispose pas des autorisations appropriées pour accéder à la base de données.

Dans votre cas, l'exception provient de l'extrait de code suivant :

<code class="java">Connection m_connection = DriverManager.getConnection("jdbc:mysql://localhost", "root", "root");</code>
Copier après la connexion

Le code tente pour établir une connexion à une base de données MySQL exécutée sur localhost en utilisant l'utilisateur "root" avec le mot de passe "root". Cependant, l'erreur suggère que ces informations d'identification ne disposent pas des privilèges nécessaires pour accéder à la base de données.

Pour résoudre ce problème, vous devez accorder à l'utilisateur qui tente de se connecter les autorisations appropriées. Dans MySQL, cela peut être réalisé en exécutant la requête suivante :

<code class="sql">GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '%password%' WITH GRANT OPTION;</code>
Copier après la connexion

N'oubliez pas de remplacer "%password%" par votre mot de passe MySQL actuel.

Une fois que vous avez exécuté cette requête, vous devrait pouvoir se connecter avec succès à la base de données MySQL en utilisant l'utilisateur "root" et le mot de passe spécifié.

Alternativement, dans votre deuxième extrait de code :

<code class="java">Connection conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/?user=root&password=rootpassword"); </code>
Copier après la connexion

Vous utilisez une approche différente pour inclure l'utilisateur et le mot de passe dans l'URL de connexion elle-même. Bien que cette approche puisse être pratique, elle est généralement moins sécurisée car elle expose le mot de passe en texte brut.

Il est toujours recommandé d'utiliser un fichier de configuration ou un autre mécanisme sécurisé pour stocker les informations d'identification de la base de données au lieu de les intégrer directement dans votre code ou URL de connexion.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!