반응형
Windows에서 MariaDB와 NodeJs에 액세스하는 방법
Windows용 MariaDB 10.3을 다운로드하여 데이터베이스를 만들고 노드에서 연결을 시도했습니다.JS 서버 사용mysql
도서관.
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);
});
});
Ubuntu에서 시도해보니 작동하지만 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 구문 오류가 있습니다.
어떻게 해결할지 생각나는 거 없어?
얼마나 도움이 될지는 모르겠지만 다음 설정을 사용합니다.
- MariaDB 10.3 (x64)
- Windows 10 Pro (빌드 17763)
- mysql 모듈 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 의 버전도 참조해 주세요.
언급URL : https://stackoverflow.com/questions/56457626/how-to-acces-mariadb-with-nodejs-on-windows
반응형
'programing' 카테고리의 다른 글
JavaScript에서 닫는 실용적인 용도는 무엇입니까? (0) | 2022.11.06 |
---|---|
mariadb procedure phmyadmin 오류입니다. (0) | 2022.11.06 |
윈도우 리터레이터를 롤링 또는 슬라이딩합니까? (0) | 2022.11.06 |
mysql에서 올바른 형식 및/또는 유효한 지오메트리를 확인합니다. (0) | 2022.11.06 |
ST_CONTENS를 통한 성능 저하 (0) | 2022.11.06 |