Не знаю, насколько это будет полезно, но я использую следующую настройку:
- MariaDB 10,3 (x64)
- Windows 10 Pro (сборка 17763)
- mysql module v2.16.0.
- Node.js v10.15.1
Следующий код работает, как и ожидалось, для меня:
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "some_user",
password: "some_password",
database: 'testdb'
});
let sql = "select * from test_table";
con.connect(function(err) {
if (err) throw err;
console.log("Connected!");
con.query(sql, function (err, result) {
if (err) throw err;
console.log("Result: " + JSON.stringify(result));
});
});
Я получаювывод вроде:
[{"id":1,"name":"Mike Smith"},{"id":2,"name":"Joe Brown"}]
Чтобы создать пользователя, которого я сделал (используя MariaDB mysql.exe, используя пользователя root):
use testdb;
create user 'some_user'@'localhost' identified by 'some_password';
grant all privileges on testdb.* to 'some_user'@'localhost';
Это может быть немного допустимо, но это нормальнодля проверки соединений.
Я также могу соединиться с пользователем root.
Если вы хотите установить пароль пользователя root, попробуйте:
use mysql;
update user set password=PASSWORD('password') where user='root'and host='localhost';
flush privileges;
Я создал простойdb 'testdb' и таблица 'test_table' с парой строк, которые будут использоваться для запросов.
Я бы посоветовал обновить версию модуля mysql, если вы можете.Также, возможно, посмотрите на версию Node.js.