La mayoría de las aplicaciones del mundo real conservan los datos en las bases de datos. Por lo tanto, es importante saber cómo conectar su aplicación a una base de datos y obtener datos de ella.

MySQL es una excelente opción para una base de datos. Es fácil de usar, tiene soporte generalizado y es una de las bases de datos relacionales más populares.

Antes de que empieces

Dado que probará el código de conexión en un servidor MySQL local, deberá instalar un servidor MySQL primero. Una vez que lo haya hecho, cree una base de datos vacía y asegúrese de tener a mano el nombre de usuario y la contraseña.

Crear una aplicación de nodo

En su terminal, ejecute el siguiente comando para crear una nueva carpeta para su aplicación de nodo:

mkdir nodo-mysql

Navegar a la nodo-mysql carpeta e inicialícela usando npm:

discos compactos nodo-mysql
npm inicializar -y

Esto generará un archivo package.json que, entre otras configuraciones, contendrá las dependencias de su proyecto.

Conectar nodo a MySQL

Hay varias formas de conectar su aplicación de nodo a MySQL. los

instagram viewer
mysql2 El paquete es una excelente opción, que puede instalar con un comando como este:

npm instalar mysql2

Para realizar la conexión, necesita varios valores, a saber, el host, el puerto, el usuario, la base de datos y la contraseña. Aquí hay un ejemplo que se conecta a una base de datos llamada nodedb en un servidor MySQL instalado localmente.

constante configuración = {
anfitrión: "localhost",
Puerto: 3306,
base de datos: "nodedb",
usuario: "raíz",
clave: "********",
}

Este es el configuración objeto pasará al método de conexión como en el programa a continuación.

constante mysql = requerir("mysql2")

constante configuración = {
anfitrión: "localhost",
base de datos: "nombre_bd",
usuario: "mysql_nombre de usuario",
contraseña: "mysql_password",
límite de conexión: 100,
}

constante conexión = mysql.createConnection (config)

conexión.conectar(función(errar) {
si (errar) lanzar(errar);
consola.log("¡Conectado!");
});

Cuando pasa los detalles de la base de datos al mysql.createConnection() método, se crea un objeto de conexión. El objeto de conexión le permitirá realizar transacciones como crear, eliminar o leer tablas.

Por ejemplo, el siguiente código crea una tabla en la base de datos a la que se conecta.

conexión.conectar(función(errar) {
si (errar) lanzar errar;
consola.log("¡Conectado!");

dejar crearUsuario = `CREATE TABLE usuarios (user_id INT (100), nombre de usuario VARCHAR (255), correo electrónico VARCHAR (255))`;

conexión.consulta (createUser, función(err, resultados, campos) {
si (Error) {
consola.log (err.mensaje);
}
});
});

Cuando lo ejecute, esta consulta creará una nueva tabla llamada usuarios en la base de datos La consulta utiliza una sintaxis común a la que puede adaptarse crear un esquema de base de datos MySQL que se adapte a tus necesidades.

El programa de conexión anterior funciona bien si solo desea realizar una única conexión. Sin embargo, al realizar solicitudes de conexión simultáneas, es mejor utilizar un conjunto de conexiones.

Conectar nodo a MySQL usando un grupo de conexiones

Abrir y cerrar conexiones puede resultar costoso, especialmente cuando hay muchas. La agrupación de conexiones de bases de datos ayuda a reducir este costo al mantener un conjunto de conexiones abiertas. Cuando se realiza una solicitud, el grupo puede proporcionar una conexión abierta bajo demanda.

Al hacer esto, ahorra tiempo porque no tiene que abrir una nueva conexión cada vez.

Use el siguiente código para crear un grupo de conexiones en Node:

constante mysql = requerir("mysql2");

constante configuración = {
anfitrión: "servidor local",
base de datos: "nombre_bd",
usuario: "nombre_usuario_mysql",
clave: "mysql_contraseña",
límite de conexión: 100,
}

constante grupo = mysql.createPool (config);

grupo.consulta("SELECCIONE * DESDE alguna_tabla", (error, datos) => {
si (errar) lanzar(errar)
consola.Dato de registro);
});

Recuerde cambiar los detalles de configuración para que coincidan con su propio entorno.

Conexión segura a MySQL

La biblioteca mysql2 simplifica el proceso de conectar una aplicación Node a una base de datos MySQL. Puede utilizar un solo cliente o un grupo de conexiones. Sin embargo, si tiene que realizar varias solicitudes, es mejor utilizar un grupo de conexiones, ya que es menos costoso.

Conectarse a la base de datos es solo el primer paso. También debe asegurarse de que los datos que almacena en la base de datos estén seguros. Después de todo, MySQL es un objetivo popular para los atacantes. Hay algunos pasos básicos que puede seguir para asegurar su servidor de base de datos MySQL. Establezca una contraseña de usuario segura, restrinja los inicios de sesión remotos y no otorgue privilegios innecesarios.