Vorwort
Unbeholfen: access denied for user 'root'@'localhost' using password yes
Manchmal wird bei der Verbindung von MySQL -Daten eine Fehlermeldung "access denied for user 'root'@'localhost' using password yes" gemeldet. Seien Sie nicht verwirrt, wenn Sie diesen Fehler sehen. Der Grund für den Fehler ist, dass der von der Datenbank aufgerufene Benutzername oder Kennwort falsch ist. Zu diesem Zeitpunkt ist es im Allgemeinen in die folgenden zwei Situationen unterteilt, und wir werden über die Lösung sprechen.
1. Xinan MySQL hat kein Passwort festgelegt. In diesem Fall müssen Sie ein Passwort hinzufügen. Wie füge ich es hinzu?
1. Verwenden Sie den Root -Benutzer, um sich mit einem leeren Passwort bei MySQL anzumelden
MySQL -U Wurzel
2. Ändern Sie das Kennwort des Root -Benutzers:
MySQL> Datenbankname Aktualisieren Sie den Namen SET Kennwort = Passwort ('neues Kennwort'), wobei user = 'root'mysql> Flush -Berechtigungen; MySQL> Quit3. Starten Sie MySQL neu und Sie können sich mit Ihrem neuen Passwort anmelden.
2. Ich habe es schon lange nicht mehr verwendet. Vergiss mein Passwort
1. Öffnen Sie dos und geben Sie das Bin-Verzeichnis unter mySQL: i: d: /development/mysql-5.5.29-winx64/bin ein
2. Stop MySQL Service, Net Stop MySQL
3. Eingeben Sie nach d: /development/mysql-5.5.29-winx64/bin:
mysqld-Defaults-file = "D: /development/mysql-5.5.29-winx64/bin/my.ini"--Console ---Skip-Grant-Tabellen
V.
5. Aufforderung zur Eingabe des Passworts, das Passwort nach der Eingabe eingeben und MySQL> eingeben
6. Geben Sie unter mysql>:
MySQL> Datenbankname Aktualisieren Sie den Namen SET Kennwort = Passwort ('neues Kennwort'), wobei user = 'root'mysql> Flush -Berechtigungen; MySQL> QuitHinweis: Wenn es mehrere Datenbanken gibt, können Sie sie mehrmals aktualisieren.
Konfigurieren von MySQL über Eigenschaftendateien
1. Häufige Möglichkeiten zum Verbinden von Daten
2. Eigenschaftenkonfiguration und Lesen
1. Konfigurationsdatei Benutzer.Properties
jdbc.drivers = com.mysql.jdbc.driverjdbc.url = jdbc: mysql: // localhost: 3306/databaseNamejdbc.username = rootjdbc.password = uppassword
2. Lesen Sie die Attributdatei
(1) ein Eigenschaftenobjekt erstellen;
Eigenschaften Eigenschaften = neue Eigenschaften ();
Dieser Schritt kann auch durchgeführt werden: Erstellen Sie eine Klasse, die Eigenschaften erbt und das Objekt im Singleton -Modus erhalten.
(2) Verwenden Sie die Methode GetResourceAsStream () des Klassenobjekts, um die angegebene Eigenschaftsdatei in den Eingabestream zu lesen, und verwenden Sie die Methode load () in der Eigenschaftenklasse, um die Eigenschaftsliste (Schlüssel-/Wertpaar) aus dem Eingabestream zu lesen.
private String ressourcen = "user.Properties"; // Wenn der Name des Konfigurationsdateins user.PropertiesinputStream in = getClass (). getResourceAsStream (Ressource); Eigenschaften.load (in);
(3) Verwenden Sie bei Verwendung der Datenbankverbindung die Methode GetProperty () in der Eigenschaftenklasse, um den Wertwert über den Schlüssel zu erhalten, wodurch die Datenbankverbindungsoperation realisiert wird.
String drivers = props.getProperty ("jdbc.drivers"); String url = props.getProperty ("jdbc.url"); String username = props.getProperty ("jdbc.username"); String password = props.getProperty ("jdbc.password"); DriverManager.getConnection (URL, Benutzername, Passwort);MySQL -Verbindungspool
1. Warum Datenquellen und Verbindungspools verwenden
Anwendungen müssen häufig eine Verbindung zur Datenbank herstellen. Wenn sie jedes Mal, wenn sie arbeiten, eine Verbindung zur Datenbank herstellen und sie dann schließen, wird die Leistung definitiv begrenzt sein. Daher müssen Sie einen Weg finden, um die Datenbankverbindung wiederzuverwenden. Verwenden Sie einen Verbindungspool, um den Zweck von Multiplexing -Datenbankverbindungen zu erreichen.
2. Konzept des Verbindungspools
Der Verbindungspool wird zum Verwalten von Verbindungsobjekten verwendet. Der Verbindungspool kann Verbindungen aus der Datenquelle erhalten. Im Verbindungspool können mehrere Datenbankverbindungsobjekte vorhanden sein, die wiederverwendet werden können. Wenn sich eine Anwendung verbinden muss, gilt sie für den Verbindungspool. Wenn im Verbindungspool kostenlose Verbindungen vorhanden sind, wird es der Anwendung zugewiesen. Wenn nicht, muss es möglicherweise in der wartenden Warteschlange warten.
3. Konfiguration von MySQL Connection Pool
1. Kopieren Sie das Datenbank -Treiberpaket und das JSTL JAR -Paket auf %Catalina_Home %/lib.
2. Ändern Sie die %Catalina_Home %/conf/server.xml -Datei und fügen Sie sie unter den Knoten <Host> hinzu:
<!-Appname Der Projektname docbase muss genau sein und das Symbol muss durch &-!> <context path = "/Appname" docbase = "Appname/webroot" auth = "container"> <Resource name = "jdbc/mysqlds" scope = "Sharable" type = "javax.sql.datasources" ersetzt werden. URL = "JDBC: MySQL: // localhost: 3306/kqxt?
3.. Ändern Sie web.xml und fügen Sie den folgenden Inhalt unter dem Knoten <NEW-App> hinzu
<ressourcen-ref> <BEKRESCHUNG> MySQL DataSource-Beispiel </Beschreibung> <res-ref-name> mysqlds </res-ref-name> <res-type> javax.sql.datasource </res-type> <res-auth> container </res-auth> </ressourcen-ref>
4. Erhalten Sie die Datenbankverbindung im Code
// Aufmerksam auf den importierten Paketnamen importieren java.sql.connection; importieren javax.naming.context; import Javax.naming.initialContext; Import Javax.sql.DataSource; public class dButil {Public static Connection getConnection () Aussagen {contextextextextextextextextexte {) context context = new initialcontext (). // Die Datenquelle DataSource erhalten DS = (DataSource) context.lookup ("java: comp/env/jdbc/mysqlds"); // Die Datenbankverbindung erhalten conn = ds.getConnection (); if (conn! = null &&! conn.isclosed ()) {return conn; } else {return null; }}}Zusammenfassen
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Referenzwert für das Studium oder die Arbeit eines jeden hat. Wenn Sie Fragen haben, können Sie eine Nachricht zur Kommunikation überlassen. Vielen Dank für Ihre Unterstützung bei Wulin.com.