„MySQL“ prijungimas prie „NodeJS“

Connecting Mysql With Nodejs



„MySQL“ serveris yra labai populiarus duomenų bazių serveris ir jį palaiko dažniausiai naudojamos programavimo kalbos, tokios kaip PHP, „Python“, „Perl“, „Java“, C#ir kt. Tai yra atvirojo kodo programa, todėl kiekvienas gali atsisiųsti šią programą saugojimui, atsisiuntimui , atnaujinti ir ištrinti duomenis naudojant duomenų bazės užklausas. Norėdami atlikti skirtingų tipų duomenų bazės operacijas duomenų bazės serveryje, jums reikės įdiegti serverio ir kliento paketus. „MySQL“ serveris dabar tampa populiarus ir „Node“ kūrėjams. Mazgų kūrėjai pradeda naudoti „MySQL“ serverį su „MongoDB“ tam tikroms „MySQL“ serverio ypatybėms. Šiame vadove parodyta, kaip galite užmegzti ryšį su „MySQL“ serveriu naudodami „node-mysql“ klientą.

Būtina sąlyga:

Prieš pradėdami šią mokymo programą turite patvirtinti, kad „MySQL“ serverio ir kliento paketai yra įdiegti ir tinkamai veikia jūsų sistemoje. Jei pirmą kartą įdiegiate „MySQL“ serverį, root vartotojo slaptažodis pagal nutylėjimą yra tuščias. Bet jūs turite nustatyti pagrindinio vartotojo slaptažodį, kad galėtumėte prisijungti prie „MySQL“ serverio naudodami mazgas-mysql klientas. Tai galite patikrinti pamoka žinoti, kaip pakeisti „MySQL“ serverio pagrindinį slaptažodį.







Vykdykite šias komandas, kad galėtumėte dirbti kaip pagrindinis vartotojas ir prisijungti prie „MySQL“ serverio naudodami „MySQL“ klientą.



$sudo -i
$ mysql-ušaknis-p

Įveskite pagrindinį slaptažodį ir paleiskite šias SQL komandas, kad sukurtumėte naują duomenų bazę, sukurkite lentelę toje duomenų bazėje ir į lentelę įterpkite keletą įrašų.



Ši komanda sukurs duomenų bazę pavadinimu mydb .





KURTI DUOMENŲ BAZĖ mydb;

Ši komanda, skirta pasirinkti duomenų bazę, skirtą duomenų bazės operacijoms atlikti.

naudoti mydb;

Ši komanda sukurs lentelę pavadinimu knyga duomenų bazėje mydb.



KURTI LENTELĖ knyga(
id INT (6) NEPASIRENGTA AUTO_INCREMENT PAGRINDINIS RAKTAS ,
titulas VARCHAR (penkiasdešimt) NE NULL ,
autorius VARCHAR (penkiasdešimt) NE NULL ,
kaina tarpt (5));

Ši komanda įterps keturis įrašus knyga lentelę.

ĮDĖTI Į knyga vertybes
( NULL ,„Mokomės PHP ir MySQL“, „Robinas Nixonas“, Keturi, penki),
( NULL ,„Mokomės„ JQuery “, „Džonatanas“, 35),
( NULL ,„Kampinis veiksmas“, „Jeremy“, penkiasdešimt),
( NULL ,„Laravelio įvaldymas“, „Kristupas“, 55);

Įdiekite „mysql“ klientą „nodejs“:

Norėdami patikrinti, paleiskite šią komandą nodejs yra įdiegta sistemoje prieš paleidžiant komandą įdiegti „mysql client of nodejs“. Tai parodys įdiegtą „nodejs“ versiją.

$mazgas-v

Jei jis neįdiegtas, turite jį įdiegti vykdydami šią komandą.

$sudo apt-get installnodejs

Jums reikės kito paketo pavadinimu virš jūros lygio turi būti įdiegta sistemoje, norint įdiegti „mysql“ klientą „nodejs“. Jei jis neįdiegtas anksčiau, paleiskite šią komandą, kad įdiegtumėte virš jūros lygio .

$sudo apt-get installvirš jūros lygio

Dabar paleiskite šią komandą, kad atnaujintumėte sistemą.

$sudo apt-get atnaujinimas

Bus įdiegta ši komanda mysql „nodejs“ modulis, kuris veiks kaip „mysql“ klientas.

$virš jūros lygiodiegtimysql

Paprastas „MySQL“ ryšys naudojant „NodeJS“:

Sukurkite JS failą pavadinimu connection1.js naudodami šį scenarijų, kad užmegztumėte ryšį su anksčiau sukurta duomenų baze mydb ir skaityti duomenis iš knyga lentelę. mysql modulis yra importuojamas ir naudojamas paprastam ryšiui su „MySQL“ serveriu sukurti. Tada bus vykdoma užklausa, skirta perskaityti visus įrašus knyga lentelę, jei duomenų bazė prijungta tinkamai. Jei užklausa įvykdyta tinkamai, visi įrašai knyga lentelė bus išspausdinta terminale, o duomenų bazės ryšys bus uždarytas.

connection1.js

// Importuoti „mysql“ modulį
tegul mysql=reikalauti('mysql');

// Nustatyti duomenų bazės ryšio parametrą
leiskite prisijungti=mysql.createConnection({
šeimininkas: 'vietinis šeimininkas',
Vartotojas: 'šaknis',
Slaptažodis: „1234“,
duomenų bazę: 'mydb'
});

// Prisijunkite prie duomenų bazės
jungtis.Prisijungti(funkcija(Ir) {
jei (Ir) {

// Rodyti klaidos pranešimą apie nesėkmę
grįžtikonsolė.klaida('klaida:' +Ir.pranešimą);
}

// Rodyti sėkmės pranešimą, jei prijungtas
konsolė.žurnalą(' nPrisijungta prie „MySQL“ serverio ... n');
});

// Nustatykite užklausos pranešimą
$ užklausa= 'SELECT * iš knygos';

// Vykdyti duomenų bazės užklausą
jungtis.užklausa($ užklausa, funkcija(Ir,eilutės) {
jei(Ir){

// Rodyti klaidos pranešimą
konsolė.žurnalą('Vykdant užklausą įvyko klaida.');
grįžti;
}
/* Rodyti suformatuotus duomenis, paimtus iš lentelės „knyga“
naudojant kilpą */

konsolė.žurnalą(„Knygų lentelės įrašai: n');
konsolė.žurnalą('Pavadinimas t t t tAutorius t tkaina n');
dėl(tegul eilučių eilė) {
konsolė.žurnalą(eilė['pavadinimas'],' t t',eilė['autorius'],' t',„$“,eilė['kaina']);
}
});

// Uždaryti duomenų bazės ryšį
jungtis.galas(funkcija(){
konsolė.žurnalą(' nRyšys uždarytas. n');
});

Išėjimas:

Vykdykite šią komandą, kad įvykdytumėte scenarijų.

$mazgas connection1.js

Paleidus scenarijų pasirodys ši išvestis.

Sujungtas „MySQL“ ryšys naudojant „NodeJS“:

Paprastas „MySQL“ ryšys su „NodeJS“ naudojant mysql modulis parodytas ankstesniame pavyzdyje. Tačiau daugelis vartotojų gali prisijungti prie duomenų bazės serverio vienu metu per programą, kai programa sukurta naudojant MySQL duomenų bazę gamybos tikslais. Jums reikės išreikšti modulį, skirtą vienu metu tvarkyti duomenų bazės vartotojus ir palaikyti kelis duomenų bazių ryšius.

Norėdami įdiegti, paleiskite šią komandą išreikšti modulis.

$virš jūros lygiodiegtiišreikšti

Sukurkite JS failą pavadinimu connection2.js su šiuo scenarijumi. Jei prisijungsite prie „MySQL“ naudodami šį scenarijų, tada 10 lygiagrečių vartotojų galės užmegzti ryšį su duomenų bazės serveriu ir gauti duomenis iš lentelės pagal užklausą. Jis užmezgs ryšį prie uosto 5000.

connection2.js

// Importuoti „mysql“ modulį
kurmysql=reikalauti('mysql');

// Importuoti greitąjį modulį
kurišreikšti=reikalauti('išreikšti');

// Nustatykite ekspreso modulio objektą
kurprogramėlę=išreikšti();

// Sukurkite duomenų bazės ryšį, kad galėtumėte tvarkyti 10 lygiagrečių vartotojų
kurbaseinas=mysql.createPool({
connectionLimit:10,
šeimininkas: 'vietinis šeimininkas',
Vartotojas: 'šaknis',
Slaptažodis: „1234“,
duomenų bazę: 'mydb',
derinimas: tiesa
});

/* Užmegzkite bendrą ryšį su duomenų baze ir perskaitykite konkrečius įrašus iš tos lentelės
duomenų bazė */

funkcijahandle_database(prašymas,atsakymas) {

// Užmegzti ryšį
baseinas.getConnection(funkcija(Ir,jungtis){
jei (Ir) {

// Siųsti klaidos pranešimą dėl nesėkmingo ryšio ir nutraukti
atsakymas.json({'kodas' : 300, 'statusas' : „Duomenų bazės ryšio klaida“});
grįžti;
}

// Terminale rodyti sėkmės pranešimą
konsolė.žurnalą(„Duomenų bazė prijungta“);

// Skaityti konkrečius įrašus iš knygų lentelės
jungtis.užklausa(„PASIRINKITE * iš knygos, kurios pavadinimas panašus į„%PHP%“arba panašus į pavadinimą
'%Laravel%'
,funkcija(Ir,eilutės){jungtis.išleisti();
jei(!Ir) {

// Pateikite užklausos rezultatų rinkinį, jei jis sėkmingai įvykdytas
atsakymas.json(eilutės);
}
});

// Patikrinkite, ar įvyksta ryšio klaida, ar ne
jungtis.ant('klaida', funkcija(Ir) {
atsakymas.json({'kodas' : 300, 'statusas' : „Duomenų bazės ryšio klaida“});
grįžti;
});
});
}

// Iškvieskite ryšių užmezgimo funkciją
programėlę.gauti('/',funkcija(prašymas,atsakymas){-
handle_database(prašymas,atsakymas);
});

// Klausykite prisijungimo užklausos prievado 5000
programėlę.klausyk(5000);

Išėjimas:

Paleiskite scenarijų iš terminalo, kaip ir ankstesniame pavyzdyje. Paleidęs scenarijų, jis lauks prisijungimo užklausos.

$mazgas connection2.js

Dabar atidarykite bet kurią naršyklę ir eikite į šį URL, kad išsiųstumėte prisijungimo užklausą.

http: // localhost: 5000

Šis rezultatas bus rodomas kaip atsakymas įvykdžius užklausą.

Jei dabar atidarysite terminalą, pamatysite šią išvestį.

Pirmiau minėtu būdu iš 10 naršyklių vienu metu galima išsiųsti dešimt prisijungimo užklausų.

Išvada:

Paprasčiausius būdus, kaip dirbti su „MySQL“ ir „NodeJS“, parodo du šio vadovo pavyzdžiai. Jei esate naujas „Node“ kūrėjas ir norite dirbti su „MySQL“ duomenų baze, tikiuosi, kad perskaitę šią mokymo programą galėsite atlikti savo užduotį.