Como acessar o MySQL via NodeJS

1. Como acessar o MySQL via NodeJS

Fábio Berbert de Paula
fabio

(usa Debian)

Enviado em 01/01/2023 - 16:19h

Gostaria de um tutorial de como conectar um script em NodeJS a um servidor MySQL em localhost. O script irá retornar, em formato JSON, o resultado de uma consulta SQL simples.



  


2. Re: Como acessar o MySQL via NodeJS

Alexa Bolada
alexabolada

(usa Debian)

Enviado em 01/01/2023 - 16:19h

O processo de conexão para um servidor MySQL usando NodeJS é bastante simples. Existem vários pacotes disponíveis no NPM (node package manager) que permitem a conexão. Recomendo dar uma olhada no MySQL NPM oficial para ter todas as informações e o modo de usar o pacote. Aqui está o link: https://www.npmjs.com/package/mysql Uma vez que você fez o processo de instalação, criando o código para estabelecer a conexão. Exemplo:


//instancia o driver
var mysql = require('mysql');

//configura a conexão com mysql
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : 'yourpassword',
database : 'yourdatabase'
});

//conecta ao mysql
connection.connect(function(err) {
if (err) throw err;
console.log("Connected!");
});


A partir daí é possível fazer consultas SQL simples, usando a chamada connection.query(). Exemplo:


//selectionar todos os registros da tabela users
connection.query('SELECT * FROM users', function(err, rows) {
if (err) throw err;

console.log('Data received from Db: \n');
console.log(rows);
});


Para passar o resultado da consulta em formato JSON, é necessário usar o método JSON.stringify(). Exemplo:


//selectionar todos os registros da tabela users
connection.query('SELECT * FROM users', function(err, rows) {
if (err) throw err;

let output = JSON.stringify(rows);
console.log('Data received from Db in JSON format: \n');
console.log(output);
});


Espero ter ajudado. Boa sorte!


3. Re: Como acessar o MySQL via NodeJS

Fábio Berbert de Paula
fabio

(usa Debian)

Enviado em 01/01/2023 - 16:24h

@alexabolada como faço para que um script em NodeJS seja executado em um servidor Apache?



4. Re: Como acessar o MySQL via NodeJS

Alexa Bolada
alexabolada

(usa Debian)

Enviado em 01/01/2023 - 16:24h

Para executar um script em NodeJS em um servidor Apache, primeiro você precisa criar um virtualhost para seu servidor. Em seguida, deve ser definido o caminho do executável do NodeJS em seu servidor e você pode fazer isso adicionando o seguinte código ao arquivo de configuração do Apache:

ScriptAlias /nodejs  "/caminho/para/executavel/nodejs.exe"
AddHandler application/x-httpd-node .js
Action application/x-httpd-node /nodejs


Você também precisará adicionar as seguintes diretivas de configuração ao arquivo de configuração do Apache:

<Directory "/caminho/para/seu/nodejs/script">
Options +ExecCGI
AllowOverride None
Require all granted
</Directory>
SetHandler application/x-httpd-node
AddHandler application/x-httpd-node .js


Agora, todos os scripts em NodeJS que estiverem localizados no diretório indicado pelo parâmetro <Directory> serão executados em seu servidor Apache como se assemelham a qualquer outro script de servidor. Também é importante mencionar que esse procedimento é possível tanto no servidor Apache quanto no servidor Linux.


5. Re: Como acessar o MySQL via NodeJS

Fábio Berbert de Paula
fabio

(usa Debian)

Enviado em 01/01/2023 - 16:39h

Isso aí, agora ela também aprendeu a formatar código e linha de comando de acordo com os padrões do VOL kkk

@alexabolada como eu aumento o volume de um arquivo musica.mp3 em 100%?



6. Re: Como acessar o MySQL via NodeJS

Alexa Bolada
alexabolada

(usa Debian)

Enviado em 01/01/2023 - 16:39h

Sim, existem várias formas de aumentar o volume do arquivo. Se você estiver usando um sistema Linux, pode usar o comando sox para isso.

Primeiro, instale o pacote sox com o comando sudo apt-get install sox.

Depois, execute o seguinte comando no terminal:

sox -v 1.2 musica.mp3 musica_aumentado.mp3.

Essa ação irá aumentar o volume da música em 100%, criando um novo arquivo, musica_aumentado.mp3, com o volume aumentado.


7. Re: Como acessar o MySQL via NodeJS

Fábio Berbert de Paula
fabio

(usa Debian)

Enviado em 01/01/2023 - 16:42h

@alexabolada e como eu aumento o volume de um arquivo musica.mp3 em 100% usando o ffmpeg?


8. Re: Como acessar o MySQL via NodeJS

Alexa Bolada
alexabolada

(usa Debian)

Enviado em 01/01/2023 - 16:42h

Para aumentar o volume de um arquivo de áudio usando o ffmpeg, você pode usar o seguinte comando no terminal:
ffmpeg -i musica.mp3 -af 'volume=100dB' musica_aumentado.mp3

Este comando vai gerar um novo arquivo, nomeado como musica_aumentado.mp3, com som 100% mais alto que o arquivo original.


9. Re: Como acessar o MySQL via NodeJS

Samuel Leonardo
SamL

(usa XUbuntu)

Enviado em 01/01/2023 - 17:02h

Po,, ficou perfeito Fábio. Na vez que vi hoje tava quebrando os caracteres, mas agora tá nos trinks! Valeu.


https://nerdki.blogspot.com/ acessa ai, é grátis
Não gostou? O ícone da casinha é serventia do site!


10. Re: Como acessar o MySQL via NodeJS

Fábio Berbert de Paula
fabio

(usa Debian)

Enviado em 01/01/2023 - 18:24h

@alexabolada tenho um diretório em /home/fabio/meuprojeto/api com arquivos .js que foram escritos em NodeJS. Como faço para que o Nginx, que hospeda meu site, servir tais arquivos em NodeJS?



11. Re: Como acessar o MySQL via NodeJS

Alexa Bolada
alexabolada

(usa Debian)

Enviado em 01/01/2023 - 18:24h

Para que o Nginx sirva os arquivos escritos em NodeJS, é necessário editar o arquivo de configuração do Nginx. Adicione a seguinte linha de configuração:

location /meuprojeto/api/

no arquivo de configuração do Nginx ($ vi /etc/nginx/nginx.conf).

Depois disso, adicione as seguintes linhas

proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;


salve o arquivo e reinicie o serviço Nginx ($ sudo service nginx restart).

Agora o arquivo está sendo servido corretamente no endereço definido.


12. Re: Como acessar o MySQL via NodeJS

Fábio Berbert de Paula
fabio

(usa Debian)

Enviado em 01/01/2023 - 18:31h

@alexabolada Em um Debian Linux, como faço para que um projeto NodeJS fique rodando como um serviço na porta 3000?




01 02