Connexió de MySQL amb NodeJS

Connecting Mysql With Nodejs



El servidor MySQL és un servidor de base de dades molt popular i està suportat per llenguatges de programació més utilitzats, com ara PHP, Python, Perl, Java, C #, etc. , actualització i eliminació de dades mitjançant consultes de bases de dades. Necessiteu que els paquets de servidor i client s’instal·lin al vostre sistema per realitzar diferents tipus d’operacions de base de dades al servidor de base de dades. El servidor MySQL ara s'està popularitzant també per als desenvolupadors de Node. Els desenvolupadors de nodes comencen a utilitzar el servidor MySQL amb MongoDB per a algunes funcions especials del servidor MySQL. En aquest tutorial es mostra com podeu establir una connexió amb el servidor MySQL mitjançant el client node-mysql.

Requisit previ:

Abans d’iniciar aquest tutorial, heu de confirmar que els paquets client i servidor MySQL estan instal·lats i funcionen correctament al vostre sistema. Si instal·leu el servidor MySQL per primera vegada, la contrasenya de l'usuari root està buida per defecte. Però heu d'establir la contrasenya per a l'usuari root per establir una connexió amb el servidor MySQL mitjançant node-mysql client. Podeu comprovar-ho tutorial per saber com canviar la contrasenya d’arrel del servidor MySQL.







Executeu les ordres següents per treballar com a usuari root i connecteu-vos amb el servidor MySQL mitjançant el client MySQL.



$suo -i
$ mysql-uarrel-p

Introduïu la contrasenya de root i executeu les ordres SQL següents per crear una nova base de dades, creeu una taula en aquesta base de dades i inseriu alguns registres en aquesta taula.



L'ordre següent crearà una base de dades anomenada mydb .





CREAR BASE DE DADES mydb;

L'ordre següent per seleccionar la base de dades per fer operacions de base de dades.

ús mydb;

L'ordre següent crearà una taula anomenada llibre a la base de dades mydb.



CREAR TAULA llibre(
identificador INT (6) NO SIGNAT AUTO_INCREMENT CLAU PRIMÀRIA ,
títol VARCHAR (50) NO NUL ,
autor VARCHAR (50) NO NUL ,
preu int (5));

L'ordre següent inserirà quatre registres a llibre taula.

INSERTAR EN llibre valors
( NUL ,'Aprendre PHP i MySQL', 'Robin Nixon', 45),
( NUL ,'Aprenent JQuery', 'Jonathan', 35),
( NUL ,'Angular en acció', 'Jeremy', 50),
( NUL ,'Dominar Laravel', 'Christopher', 55);

Instal·leu el client mysql per a nodejs:

Executeu l'ordre següent per comprovar-ho nodejs s'instal·la al sistema abans d'executar l'ordre d'instal·lar el client mysql de nodejs. Es mostrarà la versió instal·lada de nodejs.

$node-v

Si no està instal·lat, haureu d'instal·lar-lo executant l'ordre següent.

$suo apt-get installnodejs

Necessitareu un altre paquet anomenat sobre el nivell del mar que s’instal·larà al sistema per instal·lar el client mysql per a nodejs. Si no està instal·lat abans, executeu l'ordre següent per instal·lar-la sobre el nivell del mar .

$suo apt-get installsobre el nivell del mar

Ara, executeu l'ordre següent per actualitzar el sistema.

$suo apt-get update

S'instal·larà l'ordre següent mysql mòdul per a nodejs que funcionarà com a client mysql.

$sobre el nivell del marinstal·larmysql

Connexió MySQL senzilla mitjançant NodeJS:

Creeu un fitxer JS anomenat connection1.js amb el següent script per establir una connexió amb la base de dades creada prèviament mydb i llegir dades de llibre taula. mysql El mòdul s'importa i s'utilitza per crear una connexió senzilla amb el servidor MySQL. A continuació, s'executarà una consulta per llegir tots els registres llibre taula, si la base de dades està connectada correctament. Si la consulta s'ha executat correctament, tots els registres de llibre s’imprimirà la taula al terminal i es tancarà la connexió de la base de dades.

connection1.js

// Importa el mòdul mysql
deixa mysql=requerir('MySQL');

// Configuració del paràmetre de connexió de la base de dades
deixa la connexió=mysql.createConnection({
amfitrió: 'localhost',
usuari: 'arrel',
contrasenya: '1234',
base de dades: 'mydb'
});

// Connecteu-vos amb la base de dades
connexió.connectar(funció(I) {
si (I) {

// Mostra missatges d'error en cas d'error
tornarconsola.error('Error:' +I.missatge);
}

// Mostra el missatge d’èxit si està connectat
consola.registre(' nConnectat al servidor MySQL ... n');
});

// Estableix el missatge de consulta
$ consulta= 'SELECCIÓ * del llibre';

// Executeu la consulta de base de dades
connexió.consulta($ consulta, funció(I,files) {
si(I){

// Mostra el missatge d'error
consola.registre('S'ha produït un error en executar la consulta.');
tornar;
}
/ * Mostra les dades formatades recuperades de la taula 'llibre'
utilitzant per a bucle * /

consola.registre(«Els registres de la taula de llibres: n');
consola.registre(«Títol t t t tAutor t tpreu n');
per(deixar fila de files) {
consola.registre(fila['títol'],' t t',fila['autor'],' t','$',fila['preu']);
}
});

// Tanqueu la connexió de la base de dades
connexió.final(funció(){
consola.registre(' nConnexió tancada. n');
});

Sortida:

Executeu l'ordre següent per executar l'script.

$node connection1.js

La següent sortida apareixerà després d'executar l'script.

Connexió MySQL agrupada mitjançant NodeJS:

Fent una connexió MySQL senzilla amb NodeJS mitjançant mysql es mostra a l'exemple anterior. Però molts usuaris poden connectar-se amb el servidor de bases de dades alhora mitjançant l'aplicació en què es crea l'aplicació MySQL base de dades amb finalitats de producció. Necessitareu el expressar mòdul per gestionar usuaris de bases de dades simultànies i donar suport a diverses connexions de bases de dades.

Executeu l'ordre següent per instal·lar el fitxer expressar mòdul.

$sobre el nivell del marinstal·larexpressar

Creeu un fitxer JS anomenat connection2.js amb el següent guió. Si us connecteu amb MySQL amb el següent script, 10 usuaris simultanis podran establir una connexió amb el servidor de base de dades i recuperar dades de la taula en funció de la consulta. Farà una connexió al port 5000.

connection2.js

// Importa el mòdul mysql
onmysql=requerir('MySQL');

// Importa mòdul express
onexpressar=requerir('expressar');

// Definiu l'objecte del mòdul express
onaplicació=expressar();

// Feu connexió a la base de dades per gestionar 10 usuaris simultanis
onpiscina=mysql.createPool({
connectionLimit:10,
amfitrió: 'localhost',
usuari: 'arrel',
contrasenya: '1234',
base de dades: 'mydb',
depurar: cert
});

/ * Feu una connexió agrupada amb una base de dades i llegiu els registres específics d'una taula
base de dades */

funcióhandle_database(sol·licitud,resposta) {

// Fer connexió
piscina.getConnection(funció(I,connexió){
si (I) {

// Envia un missatge d'error per a la connexió fallida i finalitza
resposta.json({'codi' : 300, 'estat' : 'Error de connexió a la base de dades'});
tornar;
}

// Mostra el missatge d’èxit al terminal
consola.registre('Base de dades connectada');

// Llegiu registres particulars de la taula de llibres
connexió.consulta('SELECCIÓ * del llibre on hi ha un títol com'% PHP% 'o un títol com
'% Laravel%' '
,funció(I,files){connexió.alliberament();
si(!I) {

// Torneu el conjunt de resultats de la consulta si s'ha executat correctament
resposta.json(files);
}
});

// Comproveu que s'ha produït o no l'error de connexió
connexió.encès('Error', funció(I) {
resposta.json({'codi' : 300, 'estat' : 'Error de connexió a la base de dades'});
tornar;
});
});
}

// Truqueu a la funció per fer connexions
aplicacióaconseguir('/',funció(sol·licitud,resposta){-
handle_database(sol·licitud,resposta);
});

// Escolteu la sol·licitud de connexió al port 5000
aplicacióescolta(5000);

Sortida:

Executeu l'script des del terminal com l'exemple anterior. S'esperarà a la sol·licitud de connexió després d'executar l'script.

$node connection2.js

Ara, obriu qualsevol navegador i aneu a l'URL següent per enviar una sol·licitud de connexió.

http: // localhost: 5000

La sortida següent apareixerà com a resposta després d’executar la consulta.

Si obriu el terminal ara, veureu la següent sortida.

Es poden enviar deu sol·licituds de connexió a la vegada des de 10 navegadors de la manera esmentada anteriorment.

Conclusió:

Les maneres més senzilles de treballar amb MySQL i NodeJS es mostren en dos exemples d’aquest tutorial. Si sou un desenvolupador de Node nou i voleu treballar amb la base de dades MySQL, espero que pugueu fer la vostra tasca després de llegir aquest tutorial.