[英]Mysql Error - 1251 'ER_NOT_SUPPORTED_AUTH_MODE'
我知道這個問題已經在 SO 中得到解答,但是建議的修復對我不起作用!
錯誤:
throw err; // Rethrow non-MySQL errors
^
Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
at Handshake.Sequence._packetToError (C:\Dev\Programmierung\FitnessAppExpo\node_modules\mysql\lib\protocol\sequences\Sequence.js:47:14)
at Handshake.ErrorPacket (C:\Dev\Programmierung\FitnessAppExpo\node_modules\mysql\lib\protocol\sequences\Handshake.js:123:18)
at Protocol._parsePacket (C:\Dev\Programmierung\FitnessAppExpo\node_modules\mysql\lib\protocol\Protocol.js:291:23)
at Parser._parsePacket (C:\Dev\Programmierung\FitnessAppExpo\node_modules\mysql\lib\protocol\Parser.js:433:10)
at Parser.write (C:\Dev\Programmierung\FitnessAppExpo\node_modules\mysql\lib\protocol\Parser.js:43:10)
at Protocol.write (C:\Dev\Programmierung\FitnessAppExpo\node_modules\mysql\lib\protocol\Protocol.js:38:16)
at Socket.<anonymous> (C:\Dev\Programmierung\FitnessAppExpo\node_modules\mysql\lib\Connection.js:88:28)
at Socket.<anonymous> (C:\Dev\Programmierung\FitnessAppExpo\node_modules\mysql\lib\Connection.js:526:10)
at Socket.emit (events.js:223:5)
at addChunk (_stream_readable.js:309:12)
--------------------
at Protocol._enqueue (C:\Dev\Programmierung\FitnessAppExpo\node_modules\mysql\lib\protocol\Protocol.js:144:48)
at Protocol.handshake (C:\Dev\Programmierung\FitnessAppExpo\node_modules\mysql\lib\protocol\Protocol.js:51:23)
at Connection.connect (C:\Dev\Programmierung\FitnessAppExpo\node_modules\mysql\lib\Connection.js:116:18)
at Object.<anonymous> (C:\Dev\Programmierung\FitnessAppExpo\server\server.js:29:5)
at Module._compile (internal/modules/cjs/loader.js:955:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:991:10)
at Module.load (internal/modules/cjs/loader.js:811:32)
at Function.Module._load (internal/modules/cjs/loader.js:723:14)
at Function.Module.runMain (internal/modules/cjs/loader.js:1043:10)
at internal/main/run_main_module.js:17:11 {
code: 'ER_NOT_SUPPORTED_AUTH_MODE',
errno: 1251,
sqlMessage: 'Client does not support authentication protocol requested by server; consider upgrading MySQL client',
sqlState: '08004',
fatal: true
}
我有一個 Xampp 服務器與本地主機上的 myphpadmin 一起運行。 我試圖在 myphpadmin 中插入這段代碼:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '';
但是,如果我嘗試使用它,它會在 phpmyadmin 內給我一個錯誤:
在開始新的 ALTER 操作之前缺少“,”!
第二個說明:
未知的 ALTER 操作(附近)
當我想在 phpmyadmin 中使用或執行此命令時,我需要做些什么特別的事情嗎? 因為 ALTER 查詢的編寫方式不允許我執行它..
節點(快遞)代碼:
var mysql = require("mysql");
var express = require("express");
var session = require("express-session");
var app = express();
var cors = require("cors");
var bodyParser = require("body-parser");
app.use(bodyParser.json({ limit: "50mb" }));
app.use(bodyParser.urlencoded({ limit: "50mb", extended: true }));
app.use(
session({
secret: "ssshhhhh",
saveUninitialized: true, // (default: true)
resave: true
})
);
app.use(cors({ origin: ["http://localhost:4200"], credentials: true }));
var con = mysql.createConnection({
host: "localhost",
// host: "127.0.0.1:3307",
user: "root",
password: "",
database: "fitness_app"
});
con.connect(err => {
if (err) throw err;
console.log("Database connected -> ");
});
var server = app.listen(8090, () => {
var host = "localhost";
var port = server.address().port;
console.log("App listening at http://%s:%s", host, port);
});
~褪色
在 MYSQL Workbench 中執行以下查詢
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
其中 root 作為您的用戶 localhost 作為您的 URL 和密碼作為您的密碼
然后運行此查詢以刷新權限:
刷新特權;
完成后嘗試使用節點連接。
如果這不起作用,請嘗試不使用 @'localhost' 部分。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.