Tidak dapat menyambung ke MySQL - kod ralat ER_NOT_SUPPORTED_AUTH_MODE
<p>Saya telah mencipta pangkalan data dalam MySQL dan ingin menyambungkannya menggunakan JS. Di bawah ialah kod yang saya tulis untuk ini, tetapi saya mendapat ralat. </p>
<pre class="brush:php;toolbar:false;">const mysql = require('mysql');
var mysqlConnection = mysql.createConnection({
hos: 'localhost',
pengguna:'root',
kata laluan:'********',
pangkalan data: 'EmployeeDB'
});
mysqlConnection.connect((err) => {
jika (!err)
console.log('Sambungan DB Berjaya');
lain
console.log('Sambungan DB Gagal n Ralat :'+ JSON.stringify(err, undefined, 2));
});</pre>
<p>Saya cuba menukar nama hos dan membatalkan serta memberikan kebenaran (tidak boleh dilakukan). Lepaskan dan buat semula pangkalan data dan cuba sambungkan semula. Saya sepatutnya menyambung ke pangkalan data saya tetapi ia menyebabkan ralat yang saya tidak faham. Mesej ralat adalah seperti berikut: </p>
<pre class="brush:php;toolbar:false;">Sambungan DB Gagal
Ralat :{
"kod": "ER_NOT_SUPPORTED_AUTH_MODE",
"errno": 1251,
"sqlMessage": "Pelanggan tidak menyokong protokol pengesahan yang diminta oleh pelayan pertimbangkan untuk meningkatkan klien MySQL";
"sqlState": "08004",
"maut": benar
}</pre>
<p>Selepas menukar nama hos:</p>
<pre class="brush:php;toolbar:false;">Sambungan DB Gagal
Ralat :{
"kod": "ER_HOST_NOT_PRIVILEGED",
"errno": 1130,
"sqlMessage": "Hos 'Mistycyrus.bbrouter' tidak dibenarkan untuk menyambung ke pelayan MySQL ini",
"maut": benar
}</pre></p>