Access denied for user 'xxx'@'localh
最近在部署项目,由于之前是在windows做的开发,部署却是在linux下,吃了不少跨平台的亏,比如今天才发现linux下mysql的表名是严区分大小写的。这次是另一个坑,在tomcat连接mysql的时候,报错Access denied for user 'xxx'@'localhost.localdomain' (using
最近在部署项目,由于之前是在windows做的开发,部署却是在linux下,吃了不少跨平台的亏,比如今天才发现linux下mysql的表名是严格区分大小写的。这次是另一个坑,在tomcat连接mysql的时候,报错Access denied for user 'xxx'@'localhost.localdomain' (using password: YES))。
之前也遇到过类似的问题,不过是在windows下,而且错误信息有点区别,是Access denied for user 'xxx'@'localhost' (using password: YES)),排查结果就是缓存没清,实际用来连接数据库的用户名和密码与配置文件中的不一致,这种原因的排查只需要把用来连接数据库的用户名和密码打印一次就可以了,此处不表。但是,这次并不是这个原因造成的,用户名和密码没有错误。
排查过程:
先用root用户登录mysql,然后执行下列语句查询mysql的全部用户,观察结果,这有助于你对后续内容的理解:
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;
你会看到,即便是相同的用户名,也会有不同的@host后缀,这里指的是同一个用户在不同的主机上的登录,@host指的是主机
这里注意报错的是Access denied for user 'xxx'@'localhost.localdomain' (using password: YES))而不是Access denied for user 'xxx'@'localhost' (using password: YES)),差了一个localdomain还是有很大区别的。这就牵扯到了localhost和127.0.0.1(localhost.localdomain)的区别。
我们直接在命令行以“mysql -u用户名 -p密码”的形式登录mysql数据的时候,并没有使用tcp/ip连接,mysql会认为连接来自localhost,因此实际登录的是xxx@localhost。但是,在linux中,用tomcat连接数据库的时候(我在windows下不会这样,不知道为何),使用了tcp/ip,主机被判定为来自127.0.0.1,那么实际登录的就是 xxx@localhost.localdomain,那么你用xxx@localhost的密码去验证xxx@localhost.localdomain当然只能被判定为拒绝连接。
解决方法:
1.创建一个新的用户并授权其访问指定数据库的权限。这里我指定了主机为localhost.localdomain,意味允许用户名为snow的用户,以密码123在localhost.localdomain的主机上连接数据库;注意这个指定主机localhost.localdomain很关键。
GRANT USAGE ON *.* TO 'snow'@'localhost.localdomain' IDENTIFIED BY '123' WITH GRANT OPTION;
2.位该新用户赋予操作数据库exampleDB的全部权限。
grant all privileges on exampleDB.* to snow@localhost.localdomain identified by '123';
3.更新权限表
flush privileges;
然后把代码中连接的用户名改为snow,密码改为123。,问题解决,成功连接上mysql了。
当然你也可以不改代码中的用户名和密码,只需将上述第1,2步骤的用户名和密码替换为你的用户名和密码即可。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



1. Öffnen Sie die Einstellungen in Windows 11. Sie können die Tastenkombination Win+I oder eine andere Methode verwenden. 2. Gehen Sie zum Abschnitt „Apps“ und klicken Sie auf „Apps & Funktionen“. 3. Suchen Sie die Anwendung, deren Ausführung im Hintergrund verhindert werden soll. Klicken Sie auf die Schaltfläche mit den drei Punkten und wählen Sie Erweiterte Optionen. 4. Suchen Sie den Abschnitt [Hintergrundanwendungsberechtigungen] und wählen Sie den gewünschten Wert aus. Standardmäßig stellt Windows 11 den Energieoptimierungsmodus ein. Damit kann Windows verwalten, wie Anwendungen im Hintergrund funktionieren. Wenn Sie beispielsweise den Energiesparmodus aktivieren, um den Akku zu schonen, schließt das System automatisch alle Apps. 5. Wählen Sie [Nie], um zu verhindern, dass die Anwendung im Hintergrund ausgeführt wird. Bitte beachten Sie, dass Sie dies tun können, wenn Sie feststellen, dass das Programm Ihnen keine Benachrichtigungen sendet, Daten nicht aktualisiert usw

Erhalten Sie die Meldung „Zugriff auf Kamera und Mikrofon konnte nicht zugelassen werden“, wenn Sie versuchen, die App zu verwenden? Normalerweise erteilen Sie Kamera- und Mikrofonberechtigungen bestimmten Personen nach Bedarf. Wenn Sie jedoch die Erlaubnis verweigern, funktionieren die Kamera und das Mikrofon nicht und es wird stattdessen diese Fehlermeldung angezeigt. Die Lösung dieses Problems ist sehr einfach und in ein oder zwei Minuten erledigt. Fix 1 – Kamera- und Mikrofonberechtigungen bereitstellen Sie können die erforderlichen Kamera- und Mikrofonberechtigungen direkt in den Einstellungen bereitstellen. Schritt 1 – Gehen Sie zur Registerkarte „Einstellungen“. Schritt 2 – Öffnen Sie das Fenster „Datenschutz und Sicherheit“. Schritt 3 – Aktivieren Sie dort die Berechtigung „Kamera“. Schritt 4 – Darin finden Sie eine Liste der Apps, die eine Erlaubnis für die Kamera Ihres Telefons angefordert haben. Schritt 5 – Öffnen Sie die „Kamera“ der angegebenen App

Deepseek kann Dateien nicht direkt in PDF konvertieren. Abhängig vom Dateityp können Sie verschiedene Methoden verwenden: gemeinsame Dokumente (Word, Excel, PowerPoint): Verwenden Sie Microsoft Office, LibreOffice und andere Software, um als PDF zu exportieren. Bild: Speichern Sie als PDF mithilfe von Image Viewer oder Bildverarbeitungssoftware. Webseiten: Verwenden Sie die Funktion des Browsers "Into PDF" oder die dedizierte Webseite zum PDF -Tool. Ungewöhnliche Formate: Finden Sie den richtigen Konverter und konvertieren Sie ihn in PDF. Es ist wichtig, die richtigen Tools auszuwählen und einen Plan zu entwickeln, der auf der tatsächlichen Situation basiert.

In Java ist ein „Feld“ ein Datenelement in einer Klasse oder Schnittstelle, das zum Speichern von Daten oder Zuständen verwendet wird. Zu den Eigenschaften des Felds gehören: Typ (kann ein beliebiger Java-Datentyp sein), Zugriffsrechte, statisch (gehört zu einer Klasse und nicht zu einer Instanz), endgültig (unveränderlich) und vorübergehend (nicht serialisiert). Das Feld wird zum Speichern von Statusinformationen einer Klasse oder Schnittstelle verwendet, z. B. zum Speichern von Objektdaten und zum Verwalten des Objektstatus.

Oracle kann DBF-Dateien durch die folgenden Schritte lesen: Erstellen Sie eine externe Tabelle und verweisen Sie auf die DBF-Datei.

Der Java-Reflexionsmechanismus ermöglicht es Programmen, das Verhalten von Klassen dynamisch zu ändern, ohne den Quellcode zu ändern. Durch Betreiben des Class-Objekts können Sie über newInstance() Instanzen erstellen, private Feldwerte ändern, private Methoden aufrufen usw. Reflection sollte jedoch mit Vorsicht verwendet werden, da es zu unerwartetem Verhalten und Sicherheitsproblemen führen kann und einen Leistungsaufwand mit sich bringt.

Wie sieht ein Computerspeichermodul aus? Dies ist eine Übersicht über die Grafikkarte und das Speichermodul im Computer. Die unabhängige Grafikkarte des Computers wird mit einem Lüfter in den Grafikkartensteckplatz eingesetzt, und das Speichermodul befindet sich im Speichermodulsteckplatz auf der Hauptplatine des Computers und hat die Form eines grünen rechteckigen Parallelepipeds. Laptop-Speichermodule unterscheiden sich von Desktop-Speichermodulen und können nicht austauschbar verwendet werden. Aussehensunterschied 1: Der Desktop-Speicher ist schlank und hat eine Länge von 13–14 cm. 2: Der Notebook-Speicher ist kürzer, etwa fünf Zentimeter. Der Speicher ist die Brücke im Computer und verantwortlich für den Datenaustausch zwischen Prozessor und Hardware wie Festplatte, Motherboard und Grafikkarte. Der rote Kreis auf dem Weg ist der Memory Stick, der neben dem CPU-Lüfter liegt und in den Memory Stick eingesteckt ist. Schauen Sie, ein Computer-Speicherstick sieht so aus. Öffnen Sie mit einem Schraubenzieher die Abdeckung des Desktop-Computers. Der rote Kreis in der Mitte ist das Speichermodul. Was ist ein Memory Stick?

Häufige Ausnahmetypen und ihre Reparaturmaßnahmen bei der Entwicklung von Java-Funktionen Während der Entwicklung von Java-Funktionen können verschiedene Ausnahmen auftreten, die die korrekte Ausführung der Funktion beeinträchtigen. Im Folgenden sind häufige Ausnahmetypen und ihre Reparaturmaßnahmen aufgeführt: 1. NullPointerException Beschreibung: Wird beim Zugriff auf ein Objekt ausgelöst, das nicht initialisiert wurde. Fix: Stellen Sie sicher, dass Sie das Objekt auf Nicht-Null-Werte überprüfen, bevor Sie es verwenden. Beispielcode: try{Stringname=null;System.out.println(name.length());}catch(NullPointerExceptione){
