내 Node.js 앱에서 Amazon에서 호스팅되는 MySQL 데이터베이스에 연결하려고합니다.
$ npm install mysql
내 코드는 다음과 같습니다.
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'my amazon sql db',
user : 'me',
password : 'secret',
database : 'my_db'
});
connection.connect();
connection.query('SELECT 1 + 1 AS solution', function(err, rows, fields) {
if (err) throw err;
console.log('The solution is: ', rows[0].solution);
});
connection.end();
Workbench를 사용하여 MySQL DB에 연결할 수 있으므로 자격 증명이 괜찮다고 확신합니다.
연결을 시도하면 다음과 같은 오류가 발생합니다.
Connection.js : 91 Uncaught TypeError : Net.createConnection이 함수가 아닙니다.
npm 라이브러리에서 코드 디버깅- connection.js
에서 오류가 발생하는 곳입니다.
this._socket = (this.config.socketPath)
? Net.createConnection(this.config.socketPath)
: Net.createConnection(this.config.port, this.config.host);
connection.js
에는 종속성이 있습니다.
var Net = require('net');
Windows 컴퓨터에서 Node.js를 로컬로 실행하고 있습니다.
누구든지이 오류의 원인이 무엇인지 말해 줄 수 있습니까?
별도의 티켓 생성 :
해결 방법
MySQL 노드 모듈에서 필요하고 사용되는 net
모듈은 Node.js 자체의 핵심 부분입니다. 함수가 아닌 Net.createConnection
에 대해 표시되는 오류는 빈 개체로 표시되고 오류가 질문에 대한 의견 중 하나와 관련이 있음을 의미합니다.
브라우저 내에서 코드를 테스트하고 있습니다.
이 특정 모듈은 Node.js에서만 실행해야하며 웹 브라우저에서는 실행할 수 없습니다.
이 오류를 방지하려면 브라우저가 아닌 순수한 Node.js 환경에서이 코드를 실행해야합니다. 브라우저의 클라이언트에있는이 코드는 작동하지 않고 클라이언트 측 모든 것이 조작되고 안전하지 않기 때문에 보안 허점을 추가하기 때문에 간단한 서버가이 목적을 수행 할 수 있습니다. 클라이언트 측에서 데이터베이스를 노출하고 싶지 않고 사용하기 만하면됩니다.
참조 페이지 https://stackoverflow.com/questions/38005968
'MySql' 카테고리의 다른 글
MySQL dropping all indexes from table (0) | 2020.11.05 |
---|---|
MySQL Select WHERE IN 주어진 순서 (0) | 2020.11.05 |
MySQL 라즈베리 파이에 파이썬 3 용 mysql 커넥터 설치 (0) | 2020.11.05 |
MySQL 열 문제로 잘린 데이터를 해결하는 방법 (0) | 2020.11.05 |
MySQL Python MySQLdb-클래스 연결 (0) | 2020.11.05 |
댓글