Conectando MySQL con NodeJS

Conectando MySQL con NodeJS
El servidor MySQL es un servidor de base de datos muy popular y es compatible con lenguajes de programación utilizados principalmente, como PHP, Python, Perl, Java, C#, etc. Es una aplicación de código abierto, por lo que cualquiera puede descargar esta aplicación para almacenar, recuperar, actualizar y eliminar datos utilizando consultas de bases de datos. Requerirá que se instalarán los paquetes de servidor y cliente en su sistema para realizar diferentes tipos de operaciones de base de datos en el servidor de la base de datos. El servidor mysql ahora se está volviendo popular para los desarrolladores de nodos también. Los desarrolladores de nodos comienzan a usar el servidor MySQL con MongoDB para algunas características especiales del servidor MySQL. En este tutorial se muestra cómo puede hacer una conexión con el servidor MySQL utilizando el cliente nodo-mysql.

Requisito previo:

Antes de comenzar este tutorial, debe confirmar que los paquetes MySQL Server y Client están instalados y funcionan correctamente en su sistema. Si instala el servidor MySQL por primera vez, la contraseña del usuario root está vacía de forma predeterminada. Pero debe establecer la contraseña del usuario root para hacer una conexión con el servidor mySQL utilizando el nodo-mysql cliente. Puede consultar este tutorial para saber cómo cambiar la contraseña de root del servidor MySQL.

Ejecute los siguientes comandos para funcionar como usuario root y conectarse con el servidor MySQL usando el cliente MySQL.

$ sudo -i
$ mysql -u root -p

Ingrese la contraseña de root y ejecute los siguientes comandos SQL para crear una nueva base de datos, crear una tabla en esa base de datos e insertar algunos registros en esa tabla.

El siguiente comando creará una base de datos llamada mydb.

Crear base de datos mydb;

El siguiente comando para seleccionar la base de datos para realizar operaciones de la base de datos.

usar mydb;

El siguiente comando creará una tabla con nombre libro en la base de datos mydb.

Crear libro de mesa (
ID int (6) Clave primaria sin signo Auto_increment,
Título Varchar (50) No NULL,
Autor Varchar (50) No NULL,
precio int (5));

El siguiente comando insertará cuatro registros en libro mesa.

Insertar en valores de libros
(Null, 'Learning PHP y MySQL', 'Robin Nixon', 45),
(NULL, 'Aprendiendo jQuery', 'Jonathan', 35),
(NULL, 'Angular en acción', 'Jeremy', 50),
(NULL, 'Mastering Laravel', 'Christopher', 55);

Instale el cliente MySQL para NodeJS:

Ejecute el siguiente comando para verificar nodejs se instala en el sistema antes de ejecutar el comando de instalar el cliente MySQL de NodeJS. Mostrará la versión instalada de NodeJS.

$ nodo -v

Si no está instalado, entonces debe instalarlo ejecutando el siguiente comando.

$ sudo apt-get instalación nodejs

Necesitará otro paquete con nombre npm para instalarse en el sistema para instalar el cliente MySQL para NodeJS. Si no está instalado antes de ejecutar el siguiente comando para instalar npm.

$ sudo apt-get instalación npm

Ahora, ejecute el siguiente comando para actualizar el sistema.

$ sudo apt-get actualización

El siguiente comando se instalará mysql Módulo para NodeJs que funcionarán como cliente MySQL.

$ npm install mysql

Conexión simple MySQL usando NodeJS:

Crear un archivo JS llamado conexión1.js con el siguiente script para hacer una conexión con la base de datos creada previamente nombrada mydb y leer datos de libro mesa. mysql El módulo se importa y se usa para crear una conexión simple con el servidor MySQL. A continuación, se ejecutará una consulta para leer todos los registros de libro tabla, si la base de datos está conectada correctamente. Si la consulta se ejecutó correctamente, todos los registros de libro La tabla se imprimirá en el terminal y la conexión de la base de datos se cerrará.

conexión1.js

// Importar módulo MySQL
Deje mysql = requerir ('mysql');
// Configuración del parámetro de conexión de la base de datos
Dejar la conexión = mysql.createConnection (
Anfitrión: 'Localhost',
Usuario: 'root',
Contraseña: '1234',
base de datos: 'mydb'
);
// Conectar con la base de datos
conexión.conectar (función (e)
if (e)
// Mostrar el mensaje de error en la falla
consola de regreso.Error ('Error:' + E.mensaje);

// Mostrar mensaje de éxito si está conectado
consola.log ('\ nconnected al servidor mysql ... \ n');
);
// Establecer el mensaje de consulta
$ query = 'select * from book';
// Ejecutar la consulta de la base de datos
conexión.consulta ($ consulta, función (e, filas)
if (e)
// Mostrar el mensaje de error
consola.log ("Error ocurrado al ejecutar la consulta.");
devolver;

/* Muestra los datos formateados recuperados de la tabla 'Libro'
Usando para bucle */
consola.log ("Los registros de la tabla de libros: \ n");
consola.log ("Title \ t \ t \ t \ t autor \ t \ tPrice \ n");
para (dejar fila de filas)
consola.log (fila ['title'], "\ t \ t", fila ['autor'], "\ t", "$", fila ['precio']);

);
// Cierre la conexión de la base de datos
conexión.end (function ()
consola.log ('\ nconnection cerrado.\norte');
);

Producción:

Ejecute el siguiente comando para ejecutar el script.

$ nodo conexión1.js

La siguiente salida aparecerá después de ejecutar el script.

Conexión mySQL agrupada usando NodeJS:

Hacer una conexión mySQL simple con NodeJs usando mysql El módulo se muestra en el ejemplo anterior. Pero muchos usuarios pueden conectarse con el servidor de la base de datos a la vez a través de la aplicación cuando la aplicación se crea con Mysql base de datos para fines de producción. Necesitarás el expresar Módulo para manejar usuarios de bases de datos concurrentes y admitir múltiples conexiones de bases de datos.

Ejecute el siguiente comando para instalar el expresar módulo.

$ NPM Install Express

Crear un archivo JS llamado conexión2.js Con el siguiente script. Si se conecta con MySQL con el siguiente script, 10 usuarios concurrentes podrán establecer una conexión con el servidor de la base de datos y recuperar datos de la tabla en función de la consulta. Hará una conexión en el puerto 5000.

conexión2.js

// Importar módulo MySQL
var mysql = require ('mysql');
// Importar módulo expreso
var express = request ("express");
// Definir objeto de módulo expreso
var app = express ();
// Hacer una conexión de base de datos para manejar 10 usuarios concurrentes
Var Pool = MySQL.createPool (
ConnectionLimit: 10,
Anfitrión: 'Localhost',
Usuario: 'root',
Contraseña: '1234',
base de datos: 'mydb',
Debug: Verdadero
);
/* Hacer una conexión agrupada con una base de datos y leer registros específicos de una tabla de eso
base de datos */
función handle_database (solicitud, respuesta)
// Hacer conexión
piscina.getConnection (function (e, conexión)
if (e)
// Enviar mensaje de error para una conexión sin éxito y terminar
respuesta.JSON ("Código": 300, "Estado": "Conexión de la base de datos errror");
devolver;

// Muestra el mensaje de éxito en la terminal
consola.log ('Base de datos conectada');
// Lea registros particulares de la mesa de libros
conexión.consulta ("Seleccione * del libro donde el título como '%php%' o título como
'%Laravel%' ", función (e, filas) conexión.liberar();
si(!e)
// devuelve el conjunto de resultados de la consulta si se ejecuta correctamente
respuesta.json (filas);

);
// verificar el error de conexión ocurre o no
conexión.ON ('Error', función (e)
respuesta.JSON ("Código": 300, "Estado": "Conexión de la base de datos errror");
devolver;
);
);

// llame a la función para hacer conexiones
aplicación.get ("/", función (solicitud, respuesta) -
handle_database (solicitud, respuesta);
);
// Escuche la solicitud de conexión en el puerto 5000
aplicación.escuchar (5000);

Producción:

Ejecute el script desde el terminal como el ejemplo anterior. Esperará la solicitud de conexión después de ejecutar el script.

$ nodo conexión2.js

Ahora, abra cualquier navegador y vaya a la siguiente URL para enviar una solicitud de conexión.

http: // localhost: 5000

La siguiente salida aparecerá como respuesta después de ejecutar la consulta.

Si abre el terminal ahora, verá la siguiente salida.

Se pueden enviar diez solicitudes de conexión a la vez desde 10 navegadores de la forma mencionada anteriormente.

Conclusión:

Las formas más simples de trabajar con MySQL y NodeJs se muestran con dos ejemplos en este tutorial. Si eres un nuevo desarrollador de nodos y quieres trabajar con la base de datos MySQL, entonces espero que puedas hacer tu tarea después de leer este tutorial.