Conectando MySQL con NodeJS

Connecting Mysql With Nodejs



El servidor MySQL es un servidor de base de datos muy popular y es compatible con los lenguajes de programación más utilizados, 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 , actualización y eliminación de datos mediante consultas a la base de datos. Necesitará que los paquetes de servidor y cliente estén instalados en su sistema para realizar diferentes tipos de operaciones de base de datos en el servidor de base de datos. El servidor MySQL ahora también se está volviendo popular para los desarrolladores de Node. 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 usando el cliente node-mysql.

Requisito previo:

Antes de comenzar este tutorial, debe confirmar que los paquetes de cliente y servidor MySQL están instalados y funcionando 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 para que el usuario root se conecte con el servidor MySQL utilizando el nodo-mysql cliente. Puedes comprobar esto tutorial para saber cómo cambiar la contraseña de root del servidor MySQL.







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



$sudo -I
$ mysql-uraíz-pag

Ingrese la contraseña de root y ejecute los siguientes comandos SQL para crear una nueva base de datos, cree una tabla en esa base de datos e inserte 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 base de datos.

usar mydb;

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



CREAR MESA libro(
identificación EN T (6) NO FIRMADO AUTOINCREMENTO CLAVE PRIMARIA ,
título VARCHAR (50) NO NULO ,
autor VARCHAR (50) NO NULO ,
precio En t (5));

El siguiente comando insertará cuatro registros en libro mesa.

INSERTAR DENTRO libro valores
( NULO ,'Aprendiendo PHP y MySQL', 'Robin Nixon', 45),
( NULO ,'Aprendiendo JQuery', 'Jonathan', 35),
( NULO ,'Angular en acción', 'Jeremy', 50),
( NULO ,'Dominar 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 instalación del cliente mysql de nodejs. Mostrará la versión instalada de nodejs.

$nodo-v

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

$sudo apt-get installnodejs

Necesitará otro paquete llamado sobre el nivel del mar para ser instalado en el sistema para instalar el cliente mysql para nodejs. Si no está instalado antes, ejecute el siguiente comando para instalar sobre el nivel del mar .

$sudo apt-get installsobre el nivel del mar

Ahora, ejecute el siguiente comando para actualizar el sistema.

$sudo apt-get update

Se instalará el siguiente comando mysql módulo para nodejs que funcionará como cliente mysql.

$sobre el nivel del marInstalar en pcmysql

Conexión MySQL simple usando NodeJS:

Crea un archivo JS llamado connection1.js con el siguiente script para hacer una conexión con la base de datos creada previamente llamada mydb y leer datos de libro mesa. mysql El módulo se importa y se utiliza 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 se cerrará la conexión a la base de datos.

connection1.js

// Importar módulo mysql
deja mysql=exigir('mysql');

// Configurar el parámetro de conexión de la base de datos
deja la conexión=mysql.createConnection({
anfitrión: 'localhost',
usuario: 'raíz',
contraseña: '1234',
base de datos: 'mydb'
});

// Conectarse con la base de datos
conexión.conectar(función(Y) {
si (Y) {

// Mostrar mensaje de error en caso de falla
regresoconsola.error('error: ' +Y.mensaje);
}

// Mostrar mensaje de éxito si está conectado
consola.Iniciar sesión(' orteConectado al servidor MySQL ... orte');
});

// Establecer el mensaje de consulta
$ consulta= 'SELECCIONAR * del libro';

// Ejecuta la consulta de la base de datos
conexión.consulta($ consulta, función(Y,filas) {
si(Y){

// Muestra el mensaje de error
consola.Iniciar sesión('Se produjo un error al ejecutar la consulta.');
regreso;
}
/ * Muestra los datos formateados recuperados de la tabla 'libro'
usando for loop * /

consola.Iniciar sesión('Los registros de la tabla de libros: orte');
consola.Iniciar sesión('Título t t t tAutor t tprecio orte');
por(deja fila de filas) {
consola.Iniciar sesión(hilera['título'],' t t',hilera['autor'],' t','$',hilera['precio']);
}
});

// Cerrar la conexión a la base de datos
conexión.fin(función(){
consola.Iniciar sesión(' orteConexión cerrada. orte');
});

Producción:

Ejecute el siguiente comando para ejecutar el script.

$nodo connection1.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 Rápido módulo para manejar usuarios concurrentes de bases de datos y admitir múltiples conexiones de bases de datos.

Ejecute el siguiente comando para instalar el Rápido módulo.

$sobre el nivel del marInstalar en pcRápido

Crea un archivo JS llamado connection2.js con el siguiente script. Si se conecta con MySQL con el siguiente script, 10 usuarios simultáneos 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.

connection2.js

// Importar módulo mysql
dóndemysql=exigir('mysql');

// Importar módulo express
dóndeRápido=exigir('Rápido');

// Definir objeto del módulo express
dóndeaplicación=Rápido();

// Realice una conexión a la base de datos para manejar 10 usuarios concurrentes
dóndepiscina=mysql.createPool({
connectionLimit:10,
anfitrión: 'localhost',
usuario: 'raíz',
contraseña: '1234',
base de datos: 'mydb',
depurar: cierto
});

/ * Hacer una conexión agrupada con una base de datos y leer registros específicos de una tabla de esa
base de datos * /

funciónhandle_database(solicitud,respuesta) {

// Hacer conexión
piscina.getConnection(función(Y,conexión){
si (Y) {

// Enviar mensaje de error por conexión fallida y finalizar
respuesta.json({'código' : 300, 'estado' : 'Error de conexión a la base de datos'});
regreso;
}

// Mostrar mensaje de éxito en la terminal
consola.Iniciar sesión('Base de datos conectada');

// Leer registros particulares de la tabla de libros
conexión.consulta('SELECT * del libro donde el título como'% PHP% 'o el título como
'% Laravel%' '
,función(Y,filas){conexión.liberación();
si(!Y) {

// Devuelve el conjunto de resultados de la consulta si se ejecuta correctamente
respuesta.json(filas);
}
});

// Comprueba si se produce un error de conexión o no
conexión.sobre('error', función(Y) {
respuesta.json({'código' : 300, 'estado' : 'Error de conexión a la base de datos'});
regreso;
});
});
}

// Llamar a la función para hacer conexiones
aplicación.obtener('/',función(solicitud,respuesta){-
handle_database(solicitud,respuesta);
});

// Escuche la solicitud de conexión en el puerto 5000
aplicación.escucha(5000);

Producción:

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

$nodo connection2.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á el siguiente resultado.

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 en dos ejemplos en este tutorial. Si es un nuevo desarrollador de Node y desea trabajar con la base de datos MySQL, espero que pueda realizar su tarea después de leer este tutorial.