Forbindelse af MySQL med NodeJS

Connecting Mysql With Nodejs



MySQL-server er en meget populær databaseserver, og den understøttes af mest anvendte programmeringssprog, såsom PHP, Python, Perl, Java, C#osv. Det er en open source-applikation, så alle kan downloade denne applikation til lagring, hentning , opdatering og sletning af data ved hjælp af database forespørgsler. Du skal kræve, at server- og klientpakkerne er installeret i dit system for at udføre forskellige typer databaseoperationer i databaseserveren. MySQL -server bliver nu også populær for Node -udviklere. Node -udviklere begynder at bruge MySQL -server med MongoDB til nogle særlige funktioner i MySQL -serveren. Hvordan du kan oprette forbindelse til MySQL-server ved hjælp af node-mysql-klienten, vises i denne vejledning.

Forudsætning:

Inden du starter denne vejledning, skal du bekræfte, at MySQL -server og klientpakker er installeret og fungerer korrekt i dit system. Hvis du installerer MySQL -serveren for første gang, er root -brugerens adgangskode som standard tom. Men du skal indstille adgangskoden for rodbrugeren for at oprette forbindelse til MySQL -serveren ved hjælp af node-mysql klient. Du kan kontrollere dette tutorial at vide, hvordan man ændrer root -adgangskoden til MySQL -serveren.







Kør følgende kommandoer for at fungere som en rodbruger og oprette forbindelse til MySQL -server ved hjælp af MySQL -klient.



$sudo -jeg
$ mysql-urod-s

Indtast rodadgangskoden, og kør følgende SQL -kommandoer for at oprette en ny database, oprette en tabel på denne database og indsætte nogle poster i tabellen.



Følgende kommando opretter en database med navnet mydb .





SKAB DATABASE mydb;

Følgende kommando til at vælge databasen til udførelse af databaseoperationer.

brug mydb;

Følgende kommando opretter en tabel med navnet Bestil i databasen mydb.



SKAB BORD Bestil(
id INT (6) UTEGNET AUTO_INCREMENT PRIMÆRNØGLE ,
titel VARCHAR (halvtreds) IKKE NUL ,
forfatter VARCHAR (halvtreds) IKKE NUL ,
pris int (5));

Den følgende kommando indsætter fire poster i Bestil bord.

INDSÆT IND I Bestil værdier
( NUL ,'Lær PHP og MySQL', 'Robin Nixon', Fire. Fem),
( NUL ,'Lær JQuery', 'Jonathan', 35),
( NUL ,'Angular in Action', 'Jeremy', halvtreds),
( NUL ,'Mastering Laravel', 'Christopher', 55);

Installer mysql -klient til nodejs:

Kør følgende kommando for at kontrollere nodejs er installeret i systemet, før du kører kommandoen med at installere mysql -klient af nodejs. Det viser den installerede version af nodejs.

$knudepunkt-v

Hvis det ikke er installeret, skal du installere det ved at køre følgende kommando.

$sudo apt-get installnodejs

Du skal bruge en anden pakke med navnet over havniveau skal installeres i systemet for at installere mysql -klient til nodejs. Hvis den ikke er installeret før, skal du køre følgende kommando for at installere over havniveau .

$sudo apt-get installover havniveau

Kør nu følgende kommando for at opdatere systemet.

$sudo apt-get opdatering

Følgende kommando installeres mysql modul til nodejs, der fungerer som mysql -klient.

$over havniveauinstalleremysql

Enkel MySQL -forbindelse ved hjælp af NodeJS:

Opret en JS -fil med navnet forbindelse1.js med følgende script for at oprette forbindelse til den tidligere oprettede database med navnet mydb og læse data fra Bestil bord. mysql modulet importeres og bruges til at oprette en enkel forbindelse med MySQL -serveren. Derefter udføres en forespørgsel for at læse alle poster fra Bestil tabel, hvis databasen er korrekt forbundet. Hvis forespørgslen blev udført korrekt, blev alle poster om Bestil tabellen udskrives i terminalen, og databaseforbindelsen lukkes.

forbindelse1.js

// Importer mysql -modul
lad mysql=kræve('mysql');

// Opsætning af databaseforbindelsesparameter
lad forbindelsen=mysql.createConnection({
vært: 'lokal vært',
bruger: 'rod',
adgangskode: '1234',
database: 'mydb'
});

// Opret forbindelse til databasen
forbindelse.forbinde(fungere(Og) {
hvis (Og) {

// Vis fejlmeddelelse ved fejl
Vend tilbagekonsol.fejl('fejl:' +Og.besked);
}

// Vis succesbesked, hvis der er forbindelse
konsol.log(' nTilsluttet MySQL -serveren ... n');
});

// Indstil forespørgselsmeddelelsen
$ forespørgsel= 'VÆLG * fra bog';

// Udfør databaseforespørgslen
forbindelse.forespørgsel($ forespørgsel, fungere(Og,rækker) {
hvis(Og){

// Vis fejlmeddelelsen
konsol.log('Der opstod en fejl under udførelsen af ​​forespørgslen.');
Vend tilbage;
}
/* Vis de formaterede data, der er hentet fra 'bog' -tabellen
bruger til loop */

konsol.log('Optegnelserne over bogbordet: n');
konsol.log('Titel t t t tForfatter t tpris n');
til(lad række af rækker) {
konsol.log(række['titel'],' t t',række['forfatter'],' t','$',række['pris']);
}
});

// Luk databaseforbindelsen
forbindelse.ende(fungere(){
konsol.log(' nForbindelse lukket. n');
});

Produktion:

Kør følgende kommando for at udføre scriptet.

$nodeforbindelse1.js

Følgende output vises efter at scriptet er kørt.

Samlet MySQL -forbindelse ved hjælp af NodeJS:

Lav en simpel MySQL -forbindelse med NodeJS ved hjælp af mysql modulet er vist i det foregående eksempel. Men mange brugere kan oprette forbindelse til databaseserveren ad gangen via applikationen, når applikationen oprettes med MySQL database til produktionsformål. Du vil kræve udtrykke modul til at håndtere samtidige databasebrugere og understøtte flere databaseforbindelser.

Kør følgende kommando for at installere udtrykke modul.

$over havniveauinstallereudtrykke

Opret en JS -fil med navnet forbindelse2.js med følgende script. Hvis du opretter forbindelse til MySQL med følgende script, vil 10 samtidige brugere kunne oprette forbindelse til databaseserveren og hente data fra tabellen baseret på forespørgslen. Det vil oprette forbindelse ved port 5000.

forbindelse2.js

// Importer mysql -modul
hvormysql=kræve('mysql');

// Importer ekspressmodul
hvorudtrykke=kræve('udtryk');

// Definer objekt for ekspressmodul
hvorapp=udtrykke();

// Lav databaseforbindelse til håndtering af 10 samtidige brugere
hvorpool=mysql.createPool({
forbindelseLimit:10,
vært: 'lokal vært',
bruger: 'rod',
adgangskode: '1234',
database: 'mydb',
fejlfinde: sand
});

/* Opret forbindelse til en database og læs specifikke poster fra en tabel med det
database */

fungerehandle_database(anmodning,respons) {

// Opret forbindelse
pool.getConnection(fungere(Og,forbindelse){
hvis (Og) {

// Send fejlmeddelelse for mislykket forbindelse, og afslut
respons.json({'kode' : 300, 'status' : 'Fejl i databaseforbindelse'});
Vend tilbage;
}

// Vis succesbesked i terminalen
konsol.log('Database forbundet');

// Læs særlige optegnelser fra bogbordet
forbindelse.forespørgsel('VÆLG * fra bog, hvor titlen kan lide'%PHP%'eller titel som
'%Laravel%' '
,fungere(Og,rækker){forbindelse.frigøre();
hvis(!Og) {

// Returner resultatsættet af forespørgslen, hvis den blev udført
respons.json(rækker);
}
});

// Kontroller, at forbindelsesfejlen opstår eller ej
forbindelse.('fejl', fungere(Og) {
respons.json({'kode' : 300, 'status' : 'Fejl i databaseforbindelse'});
Vend tilbage;
});
});
}

// Ring til funktionen for at oprette forbindelser
app.('/',fungere(anmodning,respons){-
handle_database(anmodning,respons);
});

// Lyt til anmodningen om forbindelse på port 5000
app.Lyt(5000);

Produktion:

Kør scriptet fra terminalen som det foregående eksempel. Det venter på forbindelsesanmodningen, efter at scriptet er kørt.

$nodeforbindelse2.js

Åbn nu en hvilken som helst browser og gå til følgende URL for at sende en anmodning om forbindelse.

http: // lokal vært: 5000

Følgende output vises som et svar efter udførelsen af ​​forespørgslen.

Hvis du åbner terminalen nu, vil du se følgende output.

Ti forbindelsesanmodninger kan sendes ad gangen fra 10 browsere på den måde, der er nævnt ovenfor.

Konklusion:

De mest enkle måder at arbejde med MySQL og NodeJS er vist ved to eksempler i denne vejledning. Hvis du er en ny Node -udvikler og vil arbejde med MySQL -database, så håber jeg, at du vil være i stand til at udføre din opgave efter at have læst denne vejledning.