NodeJS

Forbinder MySQL med NodeJS

Forbinder MySQL med 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 databaseforespørgsler. Du vil kræve, at server- og klientpakkerne er installeret i dit system for at udføre forskellige typer databasefunktioner på databaseserveren. MySQL-server bliver nu også populær blandt Node-udviklere. Nodeudviklere begynder at bruge MySQL-server med MongoDB til nogle specielle funktioner på MySQL-serveren. Hvordan du kan oprette forbindelse til MySQL-server ved hjælp af node-mysql-klienten vises i denne vejledning.

Forudsætning:

Før du starter denne tutorial, 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 rootbrugerens adgangskode som standard tom. Men du er nødt til at indstille adgangskoden til rodbrugeren for at oprette forbindelse til MySQL-server ved hjælp af node-mysql klient. Du kan tjekke denne vejledning for at vide, hvordan du ændrer rodadgangskoden til MySQL-serveren.

Kør følgende kommandoer for at arbejde som en rootbruger og oprette forbindelse til MySQL-server ved hjælp af MySQL-klienten.

$ sudo -i
$ mysql -u root -p

Indtast root-adgangskoden, og kør følgende SQL-kommandoer for at oprette en ny database, opret en tabel på den database og indsæt nogle poster i denne tabel.

Den følgende kommando opretter en database med navnet mydb.

OPRET DATABASE mydb;

Den følgende kommando til at vælge databasen til udførelse af databasehandlinger.

brug mydb;

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

OPRET TABELbog (
id INT (6) UNSIGNED AUTO_INCREMENT PRIMÆR NØGLE,
titel VARCHAR (50) IKKE NULL,
forfatter VARCHAR (50) IKKE NULL,
pris int (5));

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

INDSÆT I bogværdier
(NULL, 'Learning PHP and MySQL', 'Robin Nixon', 45),
(NULL, 'Learning JQuery', 'Jonathan', 35),
(NULL, 'Angular in Action', 'Jeremy', 50),
(NULL, 'Mastering Laravel', 'Christopher', 55);

Installer mysql-klient til nodejs:

Kør følgende kommando for at kontrollere nodejs er installeret i systemet, før kommandoen til installation af mysql-klient af nodejs køres. Det viser den installerede version af nodejs.

$ node -v

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

$ sudo apt-get install nodejs

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

$ sudo apt-get install npm

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.

$ npm installer mysql

Enkel MySQL-forbindelse ved hjælp af NodeJS:

Opret en JS-fil med navnet forbindelse 1.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 simpel forbindelse med MySQL-serveren. Dernæst udføres en forespørgsel for at læse alle poster fra Bestil tabel, hvis databasen er tilsluttet korrekt. Hvis forespørgslen blev udført korrekt, blev alle poster af Bestil tabellen udskrives i terminalen, og databaseforbindelsen lukkes.

forbindelse 1.js

// Importer mysql-modul
lad mysql = kræve ('mysql');
// Opsæt databaseforbindelse-parameter
lad forbindelse = mysql.createConnection (
vært: 'localhost',
bruger: 'root',
adgangskode: '1234',
database: 'mydb'
);
// Opret forbindelse til databasen
forbindelse.forbinde (funktion (e)
hvis (e)
// Vis fejlmeddelelse ved fejl
retur konsol.fejl ('fejl:' + e.besked);

// Vis succesmeddelelse, hvis der er forbindelse
konsol.log ('\ nForbundet til MySQL-serveren ... \ n');
);
// Indstil forespørgselsmeddelelsen
$ forespørgsel = 'VÆLG * fra bog';
// Udfør databaseforespørgslen
forbindelse.forespørgsel ($ forespørgsel, funktion (e, rækker)
hvis (e)
// Vis fejlmeddelelsen
konsol.log ("Der opstod en fejl under udførelsen af ​​forespørgslen.");
Vend tilbage;

/ * Vis de formaterede data hentet fra 'bog' -tabellen
bruger til loop * /
konsol.log ("Optegnelserne over bogtabellen: \ n");
konsol.log ("Titel \ t \ t \ t \ t Forfatter \ t \ tpris \ n");
for (lad række af rækker)
konsol.log (række ['titel'], "\ t \ t", række ['forfatter'], "\ t", "$", række ['pris']);

);
// Luk databaseforbindelsen
forbindelse.slut (funktion ()
konsol.log ('\ n Forbindelse lukket.\ n ');
);

Produktion:

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

$ node-forbindelse1.js

Følgende output vises efter kørsel af scriptet.

Samlet MySQL-forbindelse ved hjælp af NodeJS:

Oprettelse af 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 gennem applikationen, når applikationen oprettes med MySQL database til produktionsformål. Du skal bruge udtrykke modul til at håndtere samtidige databasebrugere og understøtte flere databaseforbindelser.

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

$ npm installer ekspress

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 være i stand til at oprette forbindelse til databaseserveren og hente data fra tabellen baseret på forespørgslen. Det opretter forbindelse til port 5000.

forbindelse2.js

// Importer mysql-modul
var mysql = kræve ('mysql');
// Importer ekspressmodul
var express = kræve ("express");
// Definer objektet til ekspressmodulet
var app = express ();
// Opret databaseforbindelse til at håndtere 10 samtidige brugere
var pool = mysql.createPool (
connectionLimit: 10,
vært: 'localhost',
bruger: 'root',
adgangskode: '1234',
database: 'mydb',
debug: sandt
);
/ * Opret forbindelse til en database og læs specifikke poster fra en tabel over det
database * /
funktion handle_database (anmodning, svar)
// Opret forbindelse
pool.getConnection (funktion (e, forbindelse)
hvis (e)
// Send fejlmeddelelse for mislykket forbindelse og afslut
respons.json ("code": 300, "status": "Fejl i databaseforbindelse");
Vend tilbage;

// Vis succesmeddelelse i terminalen
konsol.log ('Database tilsluttet');
// Læs bestemte poster fra bogtabellen
forbindelse.forespørgsel ("VÆLG * fra bog, hvor titel som '% PHP%' eller titel lignende
'% Laravel%' ", funktion (e, rækker) forbindelse.frigøre();
hvis(!e)
// Returner resultatsættet for forespørgslen, hvis den er udført med succes
respons.json (rækker);

);
// Kontroller, at forbindelsesfejlen opstår eller ej
forbindelse.on ('error', funktion (e)
respons.json ("code": 300, "status": "Fejl ved databaseforbindelse");
Vend tilbage;
);
);

// Ring til funktionen for at oprette forbindelser
app.get ("/", funktion (anmodning, svar) -
handle_database (anmodning, svar);
);
// Lyt tilslutningsanmodningen på port 5000
app.lyt (5000);

Produktion:

Kør scriptet fra terminalen som det foregående eksempel. Det venter på forbindelsesanmodningen efter kørsel af scriptet.

$ node-forbindelse2.js

Åbn nu enhver browser, og gå til følgende URL for at sende en forbindelsesanmodning.

http: // localhost: 5000

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

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

Ti forbindelsesanmodninger kan sendes ad gangen fra 10 browsere på ovennævnte måde.

Konklusion:

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

Sådan downloades og afspilles Sid Meiers Civilization VI på Linux
Introduktion til spillet Civilization 6 er et moderne udtryk for det klassiske koncept, der blev introduceret i serien af ​​Age of Empires-spil. Ideen...
Sådan installeres og afspilles Doom på Linux
Introduktion til undergang Doom-serien opstod i 90'erne efter frigivelsen af ​​den originale Doom. Det var et øjeblikkeligt hit, og fra den tid af har...
Vulkan til Linux-brugere
Med hver nye generation af grafikkort ser vi spiludviklere skubbe grænserne for grafisk troskab og komme et skridt tættere på fotorealisme. Men på tro...