Koble MySQL til NodeJS

Connecting Mysql With Nodejs



MySQL-server er en veldig populær databaseserver, og den støttes av mest brukte programmeringsspråk, for eksempel PHP, Python, Perl, Java, C#, etc. Det er en åpen kildekode-applikasjon, så hvem som helst kan laste ned denne applikasjonen for lagring, henting , oppdatering og sletting av data ved hjelp av databasespørsmål. Du vil kreve at server- og klientpakker er installert i systemet ditt for å utføre forskjellige typer databaseoperasjoner i databaseserveren. MySQL -server blir nå populær også for Node -utviklere. Nodeutviklere begynner å bruke MySQL -server med MongoDB for noen spesielle funksjoner på MySQL -serveren. Hvordan du kan opprette en forbindelse med MySQL-serveren ved hjelp av node-mysql-klienten, er vist i denne opplæringen.

Forutsetning:

Før du starter denne opplæringen, må du bekrefte at MySQL -server- og klientpakker er installert og fungerer som de skal i systemet ditt. Hvis du installerer MySQL -serveren for første gang, er passordet til rotbrukeren tomt som standard. Men du må angi passordet for rotbrukeren for å opprette en forbindelse med MySQL -serveren ved hjelp av node-mysql klient. Du kan sjekke dette opplæringen å vite hvordan du endrer rotpassordet til MySQL -serveren.







Kjør følgende kommandoer for å fungere som en rotbruker og koble til MySQL -serveren ved å bruke MySQL -klient.



$sudo -Jeg
$ mysql-urot-s

Skriv inn rotpassordet og kjør følgende SQL -kommandoer for å opprette en ny database, opprette en tabell i databasen og sette inn noen poster i tabellen.



Følgende kommando vil opprette en database som heter mydb .





SKAPE DATABASE mydb;

Følgende kommando for å velge databasen for å utføre databaseoperasjoner.

bruk mydb;

Følgende kommando vil opprette en tabell med navnet bok i databasen mydb.



SKAPE BORD bok(
id INT (6) UNSIGNERT AUTO_INCREMENT PRIMÆRNØKKEL ,
tittel VARCHAR (femti) IKKE NULL ,
forfatter VARCHAR (femti) IKKE NULL ,
pris int (5));

Følgende kommando vil sette inn fire poster i bok bord.

SETT INN INN I bok verdier
( NULL ,'Lære PHP og MySQL', 'Robin Nixon', Fire fem),
( NULL ,'Lær JQuery', 'Jonathan', 35),
( NULL ,'Angular in Action', 'Jeremy', femti),
( NULL ,'Mastering Laravel', 'Christopher', 55);

Installer mysql -klienten for nodejs:

Kjør følgende kommando for å kontrollere nodejs er installert i systemet før du kjører kommandoen for å installere mysql -klienten av nodejs. Den viser den installerte versjonen av nodejs.

$node-v

Hvis den ikke er installert, må du installere den ved å kjøre følgende kommando.

$sudo apt-get installnodejs

Du trenger en annen pakke med navnet over havnivå installeres i systemet for å installere mysql -klient for nodejs. Hvis den ikke er installert før du kjører følgende kommando for å installere over havnivå .

$sudo apt-get installover havnivå

Kjør nå følgende kommando for å oppdatere systemet.

$sudo apt-get oppdatering

Følgende kommando installeres mysql modul for nodejs som vil fungere som mysql -klient.

$over havnivåinstalleremysql

Enkel MySQL -tilkobling ved hjelp av NodeJS:

Lag en JS -fil med navnet connection1.js med følgende skript for å opprette en forbindelse med den tidligere opprettede databasen mydb og lese data fra bok bord. mysql modulen er importert og brukes for å lage en enkel tilkobling med MySQL -serveren. Deretter blir det utført en forespørsel for å lese alle postene fra bok tabellen, hvis databasen er riktig tilkoblet. Hvis spørringen ble utført på riktig måte, vil alle poster av bok tabellen skrives ut i terminalen og databasetilkoblingen lukkes.

connection1.js

// Importer mysql -modul
la mysql=krever('mysql');

// Oppsett tilkoblingsparameter for database
la forbindelsen=mysql.createConnection({
vert: 'lokal vert',
bruker: 'rot',
passord: '1234',
database: 'mydb'
});

// Koble til databasen
forbindelse.koble(funksjon(Og) {
hvis (Og) {

// Vis feilmelding ved feil
komme tilbakekonsoll.feil('feil:' +Og.beskjed);
}

// Vis suksessmelding hvis den er tilkoblet
konsoll.Logg(' nKoblet til MySQL -serveren ... n');
});

// Angi spørringsmeldingen
$ forespørsel= 'VELG * fra boken';

// Utfør databasespørringen
forbindelse.spørsmål($ forespørsel, funksjon(Og,rader) {
hvis(Og){

// Vis feilmeldingen
konsoll.Logg('Det oppstod en feil under utførelsen av spørringen.');
komme tilbake;
}
/* Vis de formaterte dataene hentet fra 'bok' -tabellen
bruker for loop */

konsoll.Logg('Opptegnelsene over bokbordet: n');
konsoll.Logg('Tittel t t t tForfatter t tpris n');
til(la radrekke) {
konsoll.Logg(rad['tittel'],' t t',rad['forfatter'],' t','$',rad['pris']);
}
});

// Lukk databasetilkoblingen
forbindelse.slutt(funksjon(){
konsoll.Logg(' nTilkoblingen er stengt. n');
});

Produksjon:

Kjør følgende kommando for å utføre skriptet.

$node tilkobling1.js

Følgende utdata vises etter at skriptet er kjørt.

Samlet MySQL -tilkobling ved hjelp av NodeJS:

Opprette en enkel MySQL -tilkobling med NodeJS ved å bruke mysql modulen er vist i forrige eksempel. Men mange brukere kan koble seg til databaseserveren om gangen gjennom programmet når programmet opprettes med MySQL database for produksjonsformål. Du vil kreve uttrykke modul for å håndtere samtidige databasebrukere og støtte flere databasetilkoblinger.

Kjør følgende kommando for å installere uttrykke modul.

$over havnivåinstallereuttrykke

Lag en JS -fil med navnet connection2.js med følgende skript. Hvis du kobler deg til MySQL med følgende skript, vil 10 samtidige brukere kunne opprette en forbindelse med databaseserveren og hente data fra tabellen basert på spørringen. Det vil opprette en forbindelse ved port 5000.

connection2.js

// Importer mysql -modul
hvormysql=krever('mysql');

// Importer ekspressmodul
hvoruttrykke=krever('uttrykke');

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

// Opprett databasetilkobling for å håndtere 10 samtidige brukere
hvorbasseng=mysql.createPool({
tilkoblingsgrense:10,
vert: 'lokal vert',
bruker: 'rot',
passord: '1234',
database: 'mydb',
feilsøking: ekte
});

/* Lag en sammenkobling med en database og les spesifikke poster fra en tabell med det
database */

funksjonhandle_database(be om,respons) {

// Gjør tilkobling
basseng.getConnection(funksjon(Og,forbindelse){
hvis (Og) {

// Send feilmelding for mislykket tilkobling og avslutt
respons.json({'kode' : 300, 'status' : 'Feil i databasetilkobling'});
komme tilbake;
}

// Vis suksessmelding i terminalen
konsoll.Logg('Database tilkoblet');

// Les bestemte poster fra bokbordet
forbindelse.spørsmål('VELG * fra bok der tittel liker'%PHP%'eller tittel som
'%Laravel%' '
,funksjon(Og,rader){forbindelse.utgivelse();
hvis(!Og) {

// Returner resultatsettet til spørringen hvis den er vellykket utført
respons.json(rader);
}
});

// Kontroller at tilkoblingsfeilen oppstår eller ikke
forbindelse.('feil', funksjon(Og) {
respons.json({'kode' : 300, 'status' : 'Feil i databasetilkobling'});
komme tilbake;
});
});
}

// Ring funksjonen for å lage tilkoblinger
app.('/',funksjon(be om,respons){-
handle_database(be om,respons);
});

// Lytt tilkoblingsforespørselen på port 5000
app.lytte(5000);

Produksjon:

Kjør skriptet fra terminalen som forrige eksempel. Den venter på tilkoblingsforespørselen etter at skriptet er kjørt.

$node connection2.js

Nå åpner du hvilken som helst nettleser og går til følgende URL for å sende en tilkoblingsforespørsel.

http: // lokal vert: 5000

Følgende utdata vises som et svar etter at spørringen er utført.

Hvis du åpner terminalen nå, vil du se følgende utgang.

Ti tilkoblingsforespørsler kan sendes om gangen fra 10 nettlesere på den måten som er nevnt ovenfor.

Konklusjon:

De mest enkle måtene å jobbe med MySQL og NodeJS er vist med to eksempler i denne opplæringen. Hvis du er en ny Node -utvikler og vil jobbe med MySQL -databasen, håper jeg at du vil klare oppgaven din etter å ha lest denne opplæringen.