Povezovanje MySQL z NodeJS

Connecting Mysql With Nodejs



Strežnik MySQL je zelo priljubljen strežnik baz podatkov in ga podpirajo večinoma uporabljeni programski jeziki, kot so PHP, Python, Perl, Java, C#itd. Je odprtokodna aplikacija, zato si lahko vsakdo prenese to aplikacijo za shranjevanje, pridobivanje , posodabljanje in brisanje podatkov z uporabo poizvedb po zbirki podatkov. Za izvedbo različnih vrst operacij zbirke podatkov v strežniku baz podatkov boste morali namestiti strežniške in odjemalčeve pakete. Strežnik MySQL postaja priljubljen tudi za razvijalce vozlišč. Razvijalci vozlišč začnejo uporabljati strežnik MySQL z MongoDB za nekatere posebne funkcije strežnika MySQL. V tem vodiču je prikazano, kako lahko vzpostavite povezavo s strežnikom MySQL s odjemalcem node-mysql.

Predpogoj:

Preden začnete s to vadnico, morate preveriti, ali so strežniški in odjemalčevi paketi MySQL nameščeni in pravilno delujejo v vašem sistemu. Če prvič namestite strežnik MySQL, je geslo korenskega uporabnika privzeto prazno. Toda za korenskega uporabnika morate vzpostaviti geslo za vzpostavitev povezave s strežnikom MySQL z uporabo node-mysql stranko. To lahko preverite vadnica vedeti, kako spremeniti korensko geslo strežnika MySQL.







Zaženite naslednje ukaze, da boste delovali kot korenski uporabnik in se s odjemalcem MySQL povežite s strežnikom MySQL.



$sudo -jaz
$ mysql-ukoren-str

Vnesite korensko geslo in zaženite naslednje ukaze SQL, da ustvarite novo bazo podatkov, ustvarite tabelo v tej bazi podatkov in v to tabelo vstavite nekaj zapisov.



Naslednji ukaz bo ustvaril zbirko podatkov z imenom mydb .





Ustvari BAZA PODATKOV mydb;

Naslednji ukaz za izbiro baze podatkov za izvajanje operacij zbirke podatkov.

uporaba mydb;

Naslednji ukaz bo ustvaril tabelo z imenom knjigo v bazi podatkov mydb.



Ustvari TABELA knjigo(
id INT (6) NEPODPISANO AUTO_INCREMENT PRIMARNI KLJUČ ,
naslov VARCHAR (petdeset) NE NIČ ,
avtor VARCHAR (petdeset) NE NIČ ,
cena int (5));

Naslednji ukaz bo vstavil štiri zapise knjigo miza.

VSTAVI INTO knjigo vrednote
( NIČ ,'Učenje PHP in MySQL', 'Robin Nixon', Štiri, pet),
( NIČ ,'Učenje JQuery', 'Jonathan', 35),
( NIČ ,'Kotni v akciji', 'Jeremy', petdeset),
( NIČ ,'Obvladovanje Laravela', 'Christopher', 55);

Namestite odjemalca mysql za nodejs:

Za preverjanje zaženite naslednji ukaz nodejs je nameščen v sistemu pred izvajanjem ukaza za namestitev odjemalca mysql za nodejs. Prikazal bo nameščeno različico nodejs.

$vozlišče-v

Če ni nameščen, ga morate namestiti z naslednjim ukazom.

$sudo apt-get installnodejs

Potrebovali boste drug imenovan paket nad morsko gladino namestiti v sistem za namestitev odjemalca mysql za nodejs. Če ni nameščen, zaženite naslednji ukaz za namestitev nad morsko gladino .

$sudo apt-get installnad morsko gladino

Zdaj zaženite naslednji ukaz za posodobitev sistema.

$sudo apt-get posodobitev

Naslednji ukaz se bo namestil mysql modul za nodejs, ki bo deloval kot odjemalec mysql.

$nad morsko gladinonamestitemysql

Preprosta povezava MySQL z uporabo NodeJS:

Ustvarite datoteko JS z imenom connection1.js z naslednjim skriptom za vzpostavitev povezave s predhodno ustvarjeno zbirko podatkov z imenom mydb in prebere podatke iz knjigo miza. mysql modul je uvožen in se uporablja za ustvarjanje preproste povezave s strežnikom MySQL. Nato se izvede poizvedba za branje vseh zapisov knjigo tabelo, če je zbirka podatkov pravilno povezana. Če je poizvedba pravilno izvedena, so vsi zapisi o knjigo tabela bo natisnjena v terminalu in povezava z bazo podatkov bo zaprta.

connection1.js

// Uvozi modul mysql
naj mysql=zahtevajo('mysql');

// Nastavitev parametra povezave z bazo podatkov
pustite povezavo=mysql.createConnection({
gostitelja: 'lokalni gostitelj',
uporabnik: 'koren',
geslo: '1234',
zbirko podatkov: 'mydb'
});

// Povežite se z bazo podatkov
povezave.povežite(funkcijo(In) {
če (In) {

// Pokaži sporočilo o napaki ob napaki
vrnitevkonzola.napaka('error:' +In.sporočilo);
}

// Pokaži sporočilo o uspehu, če je povezano
konzola.dnevnik(' nPovezan s strežnikom MySQL ... n');
});

// Nastavite sporočilo poizvedbe
$ poizvedba= 'SELECT * iz knjige';

// Izvedite poizvedbo po zbirki podatkov
povezave.poizvedba($ poizvedba, funkcijo(In,vrstice) {
če(In){

// Pokaži sporočilo o napaki
konzola.dnevnik('Pri izvajanju poizvedbe je prišlo do napake.');
vrnitev;
}
/* Prikažite oblikovane podatke, pridobljene iz tabele 'knjige'
z uporabo zanke */

konzola.dnevnik('Zapisi knjižne mize: n');
konzola.dnevnik('Naslov t t t tAvtor t tcena n');
za(naj vrsta vrstic) {
konzola.dnevnik(vrstici['naslov'],' t t',vrstici['avtor'],' t','$',vrstici['cena']);
}
});

// Zaprite povezavo z zbirko podatkov
povezave.konec(funkcijo(){
konzola.dnevnik(' nPovezava zaprta. n');
});

Izhod:

Za izvedbo skripta zaženite naslednji ukaz.

$node connection1.js

Po zagonu skripta se prikaže naslednji izhod.

Združena povezava MySQL z uporabo NodeJS:

Vzpostavite preprosto povezavo MySQL z NodeJS z uporabo mysql modul je prikazan v prejšnjem primeru. Toda mnogi uporabniki se lahko hkrati povežejo s strežnikom baz podatkov prek aplikacije, ko je aplikacija ustvarjena z MySQL zbirka podatkov za proizvodne namene. Potrebovali boste ekspresno modul za sočasne uporabnike baze podatkov in podporo več povezavam z bazo podatkov.

Zaženite naslednji ukaz, da namestite ekspresno modul.

$nad morsko gladinonamestiteekspresno

Ustvarite datoteko JS z imenom connection2.js z naslednjo pisavo. Če se povežete z MySQL z naslednjim skriptom, bo lahko 10 sočasnih uporabnikov vzpostavilo povezavo s strežnikom baz podatkov in pridobilo podatke iz tabele na podlagi poizvedbe. Vzpostavil bo povezavo na vratih 5000.

connection2.js

// Uvozi modul mysql
kjemysql=zahtevajo('mysql');

// Uvozi ekspresni modul
kjeekspresno=zahtevajo('ekspresno');

// Določimo objekt ekspresnega modula
kjeaplikacijo=ekspresno();

// Vzpostavite povezavo z bazo podatkov za 10 sočasnih uporabnikov
kjebazen=mysql.createPool({
connectionLimit:10,
gostitelja: 'lokalni gostitelj',
uporabnik: 'koren',
geslo: '1234',
zbirko podatkov: 'mydb',
odpravljanje napak: prav
});

/* Vzpostavite združeno povezavo z bazo podatkov in preberite posebne zapise iz tabele tega
baza podatkov */

funkcijohandle_database(prošnja,odziv) {

// Vzpostavite povezavo
bazen.getConnection(funkcijo(In,povezave){
če (In) {

// Pošlji sporočilo o napaki za neuspešno povezavo in prekinite
odziv.json({'Koda' : 300, 'stanje' : 'Napaka pri povezavi z zbirko podatkov'});
vrnitev;
}

// Prikaz sporočila o uspehu v terminalu
konzola.dnevnik('Baza podatkov povezana');

// Preberite določene zapise iz knjižne mize
povezave.poizvedba('SELECT * iz knjige, kjer je naslov, kot je'%PHP%', ali naslov podoben
'%Laravel%' '
,funkcijo(In,vrstice){povezave.sprostitev();
če(!In) {

// Vrne nabor rezultatov poizvedbe, če je uspešno izvedena
odziv.json(vrstice);
}
});

// Preverite, ali pride do napake pri povezavi ali ne
povezave.naprej('napaka', funkcijo(In) {
odziv.json({'Koda' : 300, 'stanje' : 'Napaka pri povezavi z zbirko podatkov'});
vrnitev;
});
});
}

// Pokličemo funkcijo za vzpostavitev povezave
aplikacijo.dobiti('/',funkcijo(prošnja,odziv){-
handle_database(prošnja,odziv);
});

// Poslušajte zahtevo za povezavo na vratih 5000
aplikacijo.poslušaj(5000);

Izhod:

Zaženite skript iz terminala, kot je bilo v prejšnjem primeru. Po zagonu skripta bo počakal na zahtevo za povezavo.

$node connection2.js

Zdaj odprite kateri koli brskalnik in pojdite na naslednji URL, da pošljete zahtevo za povezavo.

http: // localhost: 5000

Naslednji izhod bo prikazan kot odgovor po izvedbi poizvedbe.

Če zdaj odprete terminal, boste videli naslednji izhod.

Deset zahtev za povezavo lahko hkrati pošljete iz 10 brskalnikov na zgoraj omenjeni način.

Zaključek:

Najenostavnejša načina za delo z MySQL in NodeJS sta prikazana v dveh primerih v tej vadnici. Če ste nov razvijalec Node in želite delati z bazo podatkov MySQL, potem upam, da boste po branju te vadnice lahko opravili svojo nalogo.