首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Windows环境下用NodeJS访问MariaDB

如何在Windows环境下用NodeJS访问MariaDB
EN

Stack Overflow用户
提问于 2019-06-05 17:19:42
回答 1查看 461关注 0票数 2

我刚刚下载了MariaDB 10.3 for Windows,创建了一个数据库,并尝试使用mysql库从NodeJS服务器进行连接。

var mysql = require('mysql');
var con = mysql.createConnection({
  host: "localhost", 
  user: "root",
  password: "MariaDBPass",
  database:'DB_NAME',
});

con.connect(function(err) {
  if (err) throw err;
  console.log("Connected!");
  con.query(sql, function (err, result) {
    if (err) throw err;
    console.log("Result: " + result);
  });
});

我在sql上试过,它工作正常,但在windows上它抛出了一个非sql错误:

Client does not support authentication protocol requested by server; consider upgrading MariaDB client

我认为这可能是MySQL 8.0和库(mysql)之间的不兼容。我已经尝试更改用户,如下所示:

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

但它说

存在SQL语法错误

对如何解决这个问题有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2019-06-05 18:16:04

我不知道这会有多大帮助,但使用以下设置:

  • MariaDB 10.3 (X64)
  • Windows10专业版(内部版本号17763)
  • mysql模块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,使用根用户):

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;

我创建了一个简单的数据库'testdb‘和表'test_table’,其中有几行用于查询。

如果可以的话,我建议您升级您的mysql模块版本。也许还可以看看Node.js版本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56457626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档