2012-10-13 4 views
2

저는 node.js와 MySQL을 처음 접했고 한 번에 두 가지를 배우려고 할 때 ... 제가 도움이 필요하다고 말하겠습니다. ;)WampServer MySQL 데이터베이스에 액세스하는 Node.js

node-mysql 모듈을 사용하여 node.js를 통해 데이터베이스를 동적으로 편집하고 싶습니다. 모든 기본 코드가 제자리에 있습니다.

var http = require('http'), 
    mysql = require("mysql"); 

var connection = mysql.createConnection({ 
    user: "root", 
    password: "", 
    database: "ballot" 
}); 

http.createServer(function (request, response) { 

    request.on('end', function() { 

     connection.query('SELECT * FROM data;', function (error, rows, fields) { 

     response.writeHead(200, { 
      "Content-Type": "text/plain", 
      'Access-Control-Allow-Origin' : '*' 
     }); 
     response.write(JSON.stringify(rows)); 
     response.end(); 

     }); 
    }); 

}).listen(8080); 

문제는 포트 8080에서 수신 중이며 localhost는 물론 포트 80입니다. 포트 80에서 수신 대기해야합니까? 그렇다면 Wamp를 망치지 않고 어떻게 그렇게 할 수 있습니까? PHPmyAdmin으로 만든 데이터베이스에 어떻게 접근합니까?

답변

4

WAMP는 MySQL과 phpMyAdmin이 미리 구성된 Apache 웹 서버를 비롯한 여러 가지 기능을 제공합니다.

기본적으로 Apache 웹 서버는 포트 80에서 수신 대기하고 MySQL 서버는 포트 3306에서 수신 대기합니다. WAMP를 실행하면 이러한 포트가 사용됩니다. 노드 프로세스는 포트 8080에서 수신 대기중인 다른 프로세스가없는 한 포트 8080에서 수신 대기중인 서버를 만들 수 있습니다. 기본적으로이 값은 0이어야하며 http://localhost:8080

을 통해 노드 http 서버에 액세스 할 수 있습니다 MySQL 데이터베이스와의 연결은 포트 3306에서 설정됩니다. phpMyAdmin을 통해 평소와 같이 데이터베이스를 설정하기 만하면됩니다. 기본적으로 이는 포트 번호 80의 Apache 서버에서 실행되는 http://localhost/phpMyAdmin에 있습니다.

용어가 약간 혼란스러워 보일뿐입니다. 호스트 이름의 로컬 호스트. 그것은 당신이 이야기하고자하는 기계의 위치입니다. 포트 번호는 완전히 별개이며 "localhost는 물론 80 번 포트입니다"는 의미가 없습니다. localhost에 유효한 포트 번호를 지정할 수 있습니다. 이미 언급했듯이 포트 8080에서 수신 대기한다는 것은 노드 서버에 액세스 할 수 있음을 의미합니다. http://localhost:8080

+0

WAMP는 포트 80에서 작동한다는 의미입니다. "host : 'http : // localhost/phpMyAdmin ' "매개 변수로 MySQL 연결을 만들 때? – Harangue

+0

아니요. mysql이 디폴트로 포트 806이나 8080이 아닌 포트 3306에서 작동하기 때문에 걱정할 필요가 없다고 말하고 있습니다. WAMP는 많은 포트에서 작동하며 프로그램 모음입니다. WAMP (apache)의 웹 부분은 포트 80에서 작동합니다. MySQL 데이터베이스는 포트 3306에서 작동합니다. phpMyAdmin은 포트 80에서 웹 응용 프로그램으로 실행되고 php 응용 프로그램은 localhost : 3306에 대한 연결을 만듭니다. 노드 프로그램은 기본적으로 포트 3306의 localhost에서 MySQL에 연결됩니다. –

관련 문제