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:
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.