A maioria dos aplicativos do mundo real persistem dados em bancos de dados. Portanto, é importante saber como conectar seu aplicativo a um banco de dados e buscar dados dele.

MySQL é uma excelente escolha para um banco de dados. É fácil de usar, tem amplo suporte e é um dos bancos de dados relacionais mais populares.

Antes de você começar

Como você testará o código de conexão em um servidor MySQL local, precisará instalar um servidor MySQL primeiro. Depois de fazer isso, crie um banco de dados vazio e certifique-se de ter o nome de usuário e a senha em mãos.

Criar um aplicativo de nó

Em seu terminal, execute o seguinte comando para criar uma nova pasta para seu aplicativo de nó:

mkdir nó-mysql

Navegue até o node-mysql pasta e inicialize-a usando npm:

cd node-mysql
npm init -y

Isso gerará um arquivo package.json que, entre outras configurações, conterá as dependências do seu projeto.

Conectar o nó ao MySQL

Existem várias maneiras de conectar seu aplicativo de nó ao MySQL. o mysql2 package é uma excelente escolha, que você pode instalar com um comando como este:

instagram viewer
npm instala mysql2

Para fazer a conexão, você precisa de vários valores, como host, porta, usuário, banco de dados e senha. Aqui está um exemplo que se conecta a um banco de dados chamado nodedb em um servidor MySQL instalado localmente.

const configuração = {
host: "localhost",
porta: 3306,
banco de dados: "nodedb",
usuário: "raiz",
senha: "********",
}

Isto é o configuração objeto você passará para o método de conexão como no programa abaixo.

const mysql = exigir("mysql2")

const configuração = {
host: "localhost",
banco de dados: "db_name",
usuário: "mysql_username",
senha: "mysql_password",
limite de conexão: 100,
}

const conexão = mysql.createConnection (config)

conexão.conectar(função(errar) {
E se (errar) lançar(errar);
console.log("Conectado!");
});

Quando você passa os detalhes do banco de dados para o mysql.createConnection() método, você cria um objeto de conexão. O objeto de conexão permitirá que você execute transações como criar, excluir ou ler tabelas.

Por exemplo, o código a seguir cria uma tabela no banco de dados ao qual você se conecta.

conexão.conectar(função(errar) {
E se (errar) lançar errar;
console.log("Conectado!");

deixar criarUsuário = `CREATE TABLE users (user_id INT(100), user_name VARCHAR(255), email VARCHAR(255))`;

connection.query (createUser, função(erro, resultados, campos) {
E se (erro) {
console.log (err.message);
}
});
});

Ao executá-lo, esta consulta criará uma nova tabela chamada usuários no banco de dados. A consulta usa uma sintaxe comum que você pode adaptar criar um esquema de banco de dados MySQL que atende às suas necessidades.

O programa de conexão acima funciona bem se você quiser fazer apenas uma única conexão. No entanto, ao fazer solicitações de conexão simultâneas, é melhor usar um pool de conexões.

Conectar o nó ao MySQL usando um pool de conexão

Abrir e fechar conexões pode se tornar caro, especialmente quando há muitas. O pool de conexões de banco de dados ajuda a reduzir esse custo mantendo um pool de conexões abertas. Quando uma solicitação é feita, o pool pode fornecer uma conexão aberta sob demanda.

Ao fazer isso, você economiza tempo porque não precisa abrir uma nova conexão toda vez.

Use o seguinte código para criar um pool de conexões no Node:

const mysql = exigir("mysql2");

const configuração = {
hospedeiro: "localhost",
base de dados: "nome_bd",
do utilizador: "mysql_username",
senha: "mysql_password",
limite de conexão: 100,
}

const pool = mysql.createPool (config);

pool.query("SELECT * FROM alguma_tabela", (erro, dados) => {
E se (errar) lançar(errar)
console.log (dados);
});

Lembre-se de alterar os detalhes de configuração para corresponder ao seu próprio ambiente.

Conectando-se com segurança ao MySQL

A biblioteca mysql2 simplifica o processo de conexão de um aplicativo Node a um banco de dados MySQL. Você pode usar um único cliente ou um pool de conexões. No entanto, se você precisar fazer várias solicitações, é melhor usar um pool de conexões, pois é mais barato.

Conectar-se ao banco de dados é apenas o primeiro passo. Você também deve garantir que os dados armazenados no banco de dados sejam seguros. Afinal, o MySQL é um alvo popular para invasores. Existem algumas etapas básicas que você pode seguir para proteger seu servidor de banco de dados MySQL. Defina uma senha de usuário forte, restrinja logins remotos e não conceda privilégios desnecessários.