Узел JS и mysql не соединяются (клиент не поддерживает протокол аутентификации, запрошенный сервером, рассмотрите возможность обновления клиента mysql) - PullRequest
0 голосов
/ 13 ноября 2018

Я пытаюсь подключить свое приложение NodeJs к базе данных mysql, но по какой-то причине оно не подключается.

Я установил mysql npm следующим образом (набрал это в командной строке):

npm install mysql

После установки mysql npm я создал файл index.js и в этом файле попытался установить соединение с моей базой данных.

Это код в моем файле index.js для подключения к mysql:

//Gebruik mysql npm module voor de mysql database
const mysql      = require('mysql');

//Geef connectie details aan
var connection = mysql.createConnection({
    host     : 'localhost',
    user     : 'root',
    port     : '3306',
    password : 'tombal10',
    database : 'fys'
});


connection.connect((err) => {
//Als er geen error is print dan 'Database is geconnect!'
    if(!err)
        console.log('Database is geconnect!');
//Als er wel een error is print dan 'Database connectie niet gelukt!'
    else
        console.log('Database connectie niet gelukt!  : '+ JSON.stringify(err, undefined,2));
});

Затем я попытался запустить код и посмотреть, работает ли соединение с mysql. Я набрал это в командной строке:

node index.js

Это сообщение об ошибке, которое я получил в командной строке:

ошибка изображения

Кто-нибудь знает, как я могу исправить эту ошибку и получить соединение с моей mysqldatabase в nodejs?

Любая помощь приветствуется

Ответы [ 2 ]

0 голосов
/ 31 мая 2019
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourRootPassword';
-- or
CREATE USER 'foo'@'%' IDENTIFIED WITH mysql_native_password BY 'bar';
-- then
FLUSH PRIVILEGES;
0 голосов
/ 13 ноября 2018

Вместо

mysqlConnection.connect((err) => {

используйте

connection.connect((err) => {

if(!err)
    console.log('Database is connected!');
else
    console.log('Database not connected! : '+ JSON.stringify(err, undefined,2));
});

[Вот справочник учебных пособий по коду] 1

Для вашей ошибки mysql:

Выполните следующий запрос в MYSQL Workbench:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'

Попробуйте подключиться, используя узел после этого.

...