Préface
Maladroit: access denied for user 'root'@'localhost' using password yes
Parfois, lors de la connexion des données MySQL, un message d'erreur "access denied for user 'root'@'localhost' using password yes" sera signalé. Ne soyez pas confus lorsque vous voyez cette erreur. La raison de l'erreur est que le nom d'utilisateur ou le mot de passe accessible par la base de données est incorrect. À l'heure actuelle, il est généralement divisé en deux situations suivantes, et nous parlerons de la solution.
1. Xinan MySQL n'a pas défini de mot de passe. Dans ce cas, vous devez ajouter un mot de passe. Comment l'ajouter?
1. Utilisez l'utilisateur racine pour vous connecter à MySQL avec un mot de passe vide
racine mysql -u
2. Modifiez le mot de passe de l'utilisateur racine:
MySQL> Mettre à jour le nom de nom de base de données set password = mot de passe ('nouveau mot de passe') où user = 'root'mysql> privilèges de rinçage; mysql> quit3. Redémarrez MySQL et vous pouvez vous connecter avec votre nouveau mot de passe.
2. Je ne l'ai pas utilisé depuis longtemps, oubliez mon mot de passe
1. Ouvrez DOS et entrez dans le répertoire de bac sous MySQL: i: D: /development/Mysql-5.5.59-winx64/bin
2. Stop MySQL Service, net Stop MySQL
3. Entrez après d: /development/mysql-5.5.29-winx64/bin:
mysqld --defaults-file = "d: /development/mysql-5.5.5.29-winx64/bin/my.ini" --console --skip-grant-tables
4. Reoureur une fenêtre DOS et entrez après d: /development/mysql-5.5.29-winx64/bin: mysql -root -p
5. Invite pour entrer le mot de passe, entrez le mot de passe après Entrée et entrez MySQL>
6. Entrez sous MySQL>:
MySQL> Mettre à jour le nom de nom de base de données set password = mot de passe ('nouveau mot de passe') où user = 'root'mysql> privilèges de rinçage; mysql> quitRemarque: S'il existe plusieurs bases de données, vous pouvez les mettre à jour plusieurs fois.
Configuration des fichiers MySQL via des propriétés
1. Façons courantes pour connecter les données
2. Configuration et lecture des propriétés
1. Utilisateurs de fichiers de configuration.properties
jdbc.Drivers = com.mysql.jdbc.driverjdbc.url = jdbc: mysql: // localhost: 3306 / databasenamejdbc.Username = rootjdbc.password = uppassword
2. Lisez le fichier d'attribut
(1) Créer un objet Propriétés;
Propriétés Properties = New Properties ();
Cette étape peut également être effectuée: créer une classe qui hérite des propriétés et obtenir l'objet en mode Singleton.
(2) Utilisez la méthode getResourCeasStream () de l'objet de classe pour lire le fichier de propriétés spécifié dans le flux d'entrée et utiliser la méthode Load () dans la classe Propriétés pour lire la liste des propriétés (paire de clés / valeur) du flux d'entrée;
private String Resource = "Users.Properties"; // Si le nom du fichier de configuration est us utilisateur.propertiesInputStream dans = getClass (). getResourceSStream (Resource); Properties.load (in);
(3) Lorsque vous utilisez la connexion de la base de données, utilisez la méthode getProperty () dans la classe Propriétés pour obtenir la valeur de valeur via la clé, réalisant ainsi l'opération de connexion de la base de données.
String Drivers = props.getProperty ("jdbc.Divers"); string url = props.getProperty ("jdbc.url"); string userName = props.getProperty ("jdbc.Username"); String Password = props.getProperty ("jdbc.password"); // return une instance de la classe de connexion.Forname. Drivermanager.getConnection (URL, nom d'utilisateur, mot de passe);Pool de connexion MySQL
1. Pourquoi utiliser les sources de données et les pools de connexion
Les applications doivent se connecter fréquemment à la base de données. S'ils se connectent à la base de données chaque fois qu'ils fonctionnent, puis la ferment, les performances seront certainement limitées. Par conséquent, vous devez trouver un moyen de réutiliser la connexion de la base de données. Utilisez un pool de connexions pour atteindre le but des connexions de base de données de multiplexage.
2. Concept de pool de connexion
Le pool de connexion est utilisé pour gérer les objets de connexion. Le pool de connexions peut obtenir des connexions à partir de la source de données. Il peut y avoir plusieurs objets de connexion de base de données dans le pool de connexion, qui peuvent être réutilisés. Lorsqu'une application doit se connecter, elle s'applique au pool de connexion. S'il y a des connexions gratuites dans le pool de connexions, il sera affecté à l'application. Sinon, il peut devoir attendre dans la file d'attente d'attente.
3. Configuration du pool de connexion MySQL
1. Copiez le package du pilote de base de données et le package JST JARD sur% Catalina_Home% / lib.
2. Modifiez le fichier% Catalina_Home% / conf / server.xml et ajoutez-le sous le nœud <host>:
<! - Appname Le nom du projet Docbase doit être précis et le symbole doit être remplacé par & -!> < url = "jdbc: mysql: // localhost: 3306 / kqxt? useunicode = true & worseencoding = utf-8" driverclassname = "com.mysql.jdbc.driver" username = "root" password = "root" maxwait = "3000" maxidle = "100" maxactive = "10" /> </ context>
3. Modifier web.xml et ajouter le contenu suivant sous le nœud <band-applicable
<Resource-Ref> <description> MySQL DataSource Example </ Description> <Res-Ref-Name> MySQLDS </sr-ref-name> <Res-Type> Javax.sql.Datasource </su-Type> <Res-Auth> Container </s res-uth> </source-ref>
4. Obtenez la connexion de la base de données dans le code
// prête attention au nom du package importé Importer java.sql.connection; import javax.naming.context; import javax.naming.initialContext; import javax.sql.datasource; public class dbutil {public static getConnection () lève une exception {context context = new InitialContext (); // Obtenez la source de données DataSource ds = (dataSource) context.lookup ("java: comp / env / jdbc / mysqlds"); // Obtenez la connexion de la base de données Conn = Ds.GetConnection (); if (conn! = null &&! Conn.isclosed ()) {return conn; } else {return null; }}}Résumer
Ce qui précède est l'intégralité du contenu de cet article. J'espère que le contenu de cet article a une certaine valeur de référence pour l'étude ou le travail de chacun. Si vous avez des questions, vous pouvez laisser un message pour communiquer. Merci pour votre soutien à wulin.com.