Es kann keine Verbindung zu MySQL hergestellt werden – Fehlercode ER_NOT_SUPPORTED_AUTH_MODE
P粉736935587
2023-08-26 15:09:04
<p>Ich habe eine Datenbank in MySQL erstellt und möchte über JS eine Verbindung dazu herstellen. Unten ist der Code, den ich dafür geschrieben habe, aber ich erhalte eine Fehlermeldung. </p>
<pre class="brush:php;toolbar:false;">const mysql = require('mysql');
var mysqlConnection = mysql.createConnection({
Host: 'localhost',
Benutzer:'root',
Passwort:'********',
Datenbank:'EmployeeDB'
});
mysqlConnection.connect((err) => {
if (!err)
console.log('DB-Verbindung erfolgreich');
anders
console.log('DB-Verbindung fehlgeschlagen und Fehler:'+ JSON.stringify(err, undefiniert, 2));
});</pre>
<p>Ich habe versucht, den Namen des Hosts zu ändern und Berechtigungen zu widerrufen und zu erteilen (beides war nicht möglich). Löschen Sie die Datenbank, erstellen Sie sie neu und versuchen Sie erneut, eine Verbindung herzustellen. Ich soll eine Verbindung zu meiner Datenbank herstellen, aber es verursacht einen Fehler, den ich nicht verstehen kann. Die Fehlermeldung lautet wie folgt: </p>
<pre class="brush:php;toolbar:false;">DB-Verbindung fehlgeschlagen
Fehler :{
„Code“: „ER_NOT_SUPPORTED_AUTH_MODE“,
"Fehlernummer": 1251,
„sqlMessage“: „Der Client unterstützt das vom Server angeforderte Authentifizierungsprotokoll nicht. Erwägen Sie ein Upgrade des MySQL-Clients“,
"sqlState": "08004",
"tödlich": wahr
}</pre>
<p>Nach dem Ändern des Hostnamens:</p>
<pre class="brush:php;toolbar:false;">DB-Verbindung fehlgeschlagen
Fehler :{
"Code": "ER_HOST_NOT_PRIVILEGED",
"Fehlernummer": 1130,
„sqlMessage“: „Host ‚Mistycyrus.bbrouter‘ darf keine Verbindung zu diesem MySQL-Server herstellen“,
"tödlich": wahr
}</pre></p>
对于第一个错误“客户端不支持服务器请求的身份验证协议;考虑升级 MySQL 客户端”,您需要:
对于第二个错误“Host 'Mistycyrus.bbrouter' is not allowed to connect to this MySQL server”,您正在使用用户
'someone'@'Mistycyrus.bbrouter'
进行连接,并且该用户是不允许连接。127.0.0.1 localhost
。