Pagkonekta sa MySQL sa NodeJS

Connecting Mysql With Nodejs



Ang MySQL server ay isang tanyag na server ng database at sinusuportahan ito ng karamihan na ginagamit na mga wika sa pagprograma, tulad ng PHP, Python, Perl, Java, C #, atbp. Ito ay isang bukas na mapagkukunan na application, kaya ang sinuman ay maaaring mag-download ng application na ito para sa pagtatago, pagkuha. , pag-update at pagtanggal ng data sa pamamagitan ng paggamit ng mga query sa database. Kakailanganin mo ang mga pakete ng server at client na mai-install sa iyong system upang maisagawa ang iba't ibang mga uri ng pagpapatakbo ng database sa database server. Ang MySQL server ay nagiging sikat na rin para sa mga developer ng Node din. Sinimulan ng mga developer ng node ang paggamit ng MySQL server sa MongoDB para sa ilang mga espesyal na tampok ng MySQL server. Paano ka makagagawa ng isang koneksyon sa MySQL server gamit ang node-MySQL client ay ipinapakita sa tutorial na ito.

Pangangailangan:

Bago simulan ang tutorial na ito kailangan mong kumpirmahing ang MySQL server at client packages ay naka-install at gumagana nang maayos sa iyong system. Kung na-install mo ang MySQL server sa kauna-unahang pagkakataon ang password ng root user ay walang laman bilang default. Ngunit kailangan mong itakda ang password para sa root user upang makakonekta sa MySQL server gamit ang node-MySQL kliyente Maaari mo itong suriin pagtuturo upang malaman kung paano baguhin ang root password ng MySQL server.







Patakbuhin ang mga sumusunod na utos upang gumana bilang isang root user at kumonekta sa MySQL server sa pamamagitan ng paggamit ng MySQL client.



$sudo -ako
$ MySQL-uugat-p

Ipasok ang root password at patakbuhin ang mga sumusunod na utos ng SQL upang lumikha ng isang bagong database, lumikha ng isang talahanayan sa database na iyon at ipasok ang ilang mga talaan sa talahanayan na iyon.



Ang sumusunod na utos ay lilikha ng isang database na pinangalanan mydb .





LILIKHA DATABASE mydb;

Ang sumusunod na utos na piliin ang database para sa paggawa ng mga pagpapatakbo ng database.

gamitin mydb;

Ang sumusunod na utos ay lilikha ng isang talahanayan na pinangalanan libro sa database mydb



LILIKHA TABLE libro(
id INT (6) UNIGNIG AUTO_INCREMENT PANGUNAHING SUSI ,
pamagat VARCHAR (limampu) HINDI WALA ,
may akda VARCHAR (limampu) HINDI WALA ,
presyo int (5));

Ang sumusunod na utos ay maglalagay ng apat na mga talaan sa libro mesa

INSERT SA libro halaga
( WALA ,'Pag-aaral ng PHP at MySQL', 'Robin Nixon', Apat lima),
( WALA ,'Pag-aaral ng JQuery', 'Jonathan', 35),
( WALA ,'Angular in Action', 'Jeremy', limampu),
( WALA ,'Mastering Laravel', 'Christopher', 55);

I-install ang MySQL client para sa mga nodejs:

Patakbuhin ang sumusunod na utos upang suriin nodejs ay naka-install sa system bago patakbuhin ang utos ng pag-install ng MySQL client ng nodejs. Ipapakita nito ang naka-install na bersyon ng nodejs.

$node-v

Kung hindi ito naka-install kung gayon kailangan mong i-install ito sa pamamagitan ng pagpapatakbo ng sumusunod na utos.

$sudo apt-get installnodejs

Kakailanganin mo ang isa pang pakete na pinangalanan sa itaas ng antas ng dagat upang mai-install sa system upang mai-install ang MySQL client para sa mga nodejs. Kung hindi ito naka-install bago patakbuhin ang sumusunod na utos upang mai-install sa itaas ng antas ng dagat .

$sudo apt-get installsa itaas ng antas ng dagat

Ngayon, patakbuhin ang sumusunod na utos upang i-update ang system.

$sudo apt-get update

Ang sumusunod na utos ay mai-install MySQL module para sa nodejs na gagana bilang MySQL client.

$sa itaas ng antas ng dagati-installMySQL

Simpleng koneksyon sa MySQL gamit ang NodeJS:

Lumikha ng isang JS file na pinangalanan koneksyon1.js kasama ang sumusunod na script upang makakonekta sa dating nilikha na database na pinangalanan mydb at basahin ang data mula sa libro mesa MySQL Ang module ay na-import at ginagamit para sa paglikha ng isang simpleng koneksyon sa MySQL server. Susunod, isang query ay papatayin upang mabasa ang lahat ng mga tala mula sa libro talahanayan, kung ang database ay konektado nang maayos. Kung ang query ay naisakatuparan nang maayos pagkatapos ang lahat ng mga tala ng libro ang talahanayan ay mai-print sa terminal at ang koneksyon sa database ay sarado.

koneksyon1.js

// Mag-import ng module ng MySQL
hayaan ang MySQL=kailangan('MySQL');

// Setup ng parameter ng koneksyon sa database
hayaan ang koneksyon=MySQLlumikhaConnection({
host: 'localhost',
gumagamit: 'ugat',
password: '1234',
database: 'mydb'
});

// Kumonekta sa database
koneksyonkumonekta(pagpapaandar(At) {
kung (At) {

// Ipakita ang error sa error sa pagkabigo
bumalik kaconsolekamalian('error:' +At.mensahe);
}

// Ipakita ang mensahe ng tagumpay kung nakakonekta
consolemag-log(' nNakakonekta sa MySQL server ... n');
});

// Itakda ang mensahe ng query
$ query= 'PUMILI * mula sa libro';

// Ipatupad ang query sa database
koneksyontanong($ query, pagpapaandar(At,mga hilera) {
kung(At){

// Ipakita ang mensahe ng error
consolemag-log('Error na nangyari sa pagpapatupad ng query.');
bumalik ka;
}
/ * Ipakita ang na-format na data na nakuha mula sa talahanayan na 'libro'
ginagamit para sa loop * /

consolemag-log('Ang mga talaan ng talahanayan ng libro: n');
consolemag-log('Pamagat t t t tMay-akda t tpresyo n');
para sa(hayaan ang hilera ng mga hilera) {
consolemag-log(hilera['pamagat'],' t t',hilera['may-akda'],' t','$',hilera['presyo']);
}
});

// Isara ang koneksyon sa database
koneksyonmagtapos(pagpapaandar(){
consolemag-log(' nSarado ang koneksyon n');
});

Output:

Patakbuhin ang sumusunod na utos upang maipatupad ang script.

$node connection1.js

Lilitaw ang sumusunod na output pagkatapos patakbuhin ang script.

Pinagsama ang koneksyon sa MySQL gamit ang NodeJS:

Gumagawa ng isang simpleng koneksyon sa MySQL sa paggamit ng NodeJS MySQL ang modyul ay ipinapakita sa nakaraang halimbawa. Ngunit maraming mga gumagamit ang maaaring kumonekta sa database server sa isang oras sa pamamagitan ng application kapag ang application ay nilikha gamit MySQL database para sa mga hangarin sa paggawa. Kakailanganin mo ang ipahayag module upang mahawakan ang kasabay na mga gumagamit ng database at suportahan ang maraming mga koneksyon sa database.

Patakbuhin ang sumusunod na utos upang mai-install ang ipahayag modyul

$sa itaas ng antas ng dagati-installipahayag

Lumikha ng isang JS file na pinangalanan koneksyon2.js kasama ang sumusunod na iskrip. Kung kumonekta ka sa MySQL kasama ang sumusunod na script pagkatapos ay 10 magkakasabay na mga gumagamit ang makakagawa ng isang koneksyon sa database server at makuha ang data mula sa talahanayan batay sa query. Gagawa ito ng isang koneksyon sa port 5000.

koneksyon2.js

// Mag-import ng module ng MySQL
kung saanMySQL=kailangan('MySQL');

// I-import ang express module
kung saanipahayag=kailangan('ipahayag');

// Tukuyin ang object ng express module
kung saanapp=ipahayag();

// Gumawa ng koneksyon sa database upang mahawakan ang 10 kasabay na mga gumagamit
kung saanpool=MySQLcreatePool({
Limitasyon ng koneksyon:10,
host: 'localhost',
gumagamit: 'ugat',
password: '1234',
database: 'mydb',
pag-debug: totoo
});

/ * Gumawa ng pinagsamang koneksyon sa isang database at basahin ang mga tukoy na tala mula sa isang talahanayan niyon
database * /

pagpapaandarhawakan_database(hiling,tugon) {

// Gumawa ng koneksyon
poolgetConnection(pagpapaandar(At,koneksyon){
kung (At) {

// Magpadala ng mensahe ng error para sa hindi matagumpay na koneksyon at wakasan
tugon.json({'code' : 300, 'katayuan' : 'Error sa koneksyon sa database'});
bumalik ka;
}

// Ipakita ang mensahe ng tagumpay sa terminal
consolemag-log('Nakakonekta ang database');

// Basahin ang mga partikular na talaan mula sa talahanayan ng libro
koneksyontanong('SELECT * mula sa libro kung saan ang pamagat tulad ng'% PHP% 'o pamagat na gusto
'% Laravel%' '
,pagpapaandar(At,mga hilera){koneksyonpakawalan();
kung(!At) {

// Ibalik ang resulta ng query kung matagumpay itong naisakatuparan
tugon.json(mga hilera);
}
});

// Suriin ang error sa koneksyon ay nangyayari o hindi
koneksyonsa('error', pagpapaandar(At) {
tugon.json({'code' : 300, 'katayuan' : 'Error sa koneksyon sa database'});
bumalik ka;
});
});
}

// Tumawag sa pagpapaandar para sa paggawa ng mga koneksyon
appkumuha ka('/',pagpapaandar(hiling,tugon){-
hawakan_database(hiling,tugon);
});

// Makinig sa kahilingan sa koneksyon sa port 5000
appmakinig ka(5000);

Output:

Patakbuhin ang script mula sa terminal tulad ng nakaraang halimbawa. Hihintayin nito ang kahilingan sa koneksyon pagkatapos patakbuhin ang script.

$node connection2.js

Ngayon, buksan ang anumang browser at pumunta sa sumusunod na URL upang magpadala ng isang kahilingan sa koneksyon.

http: // localhost: 5000

Ang sumusunod na output ay lilitaw bilang isang tugon pagkatapos maipatupad ang query.

Kung buksan mo ang terminal ngayon makikita mo ang sumusunod na output.

Sampung mga kahilingan sa koneksyon ay maaaring maipadala nang paisa-isa mula sa 10 mga browser sa paraang nabanggit sa itaas.

Konklusyon:

Ang pinaka-simpleng paraan upang gumana sa MySQL at NodeJS ay ipinapakita ng dalawang halimbawa sa tutorial na ito. Kung ikaw ay isang bagong developer ng Node at nais na gumana sa MySQL database kung gayon inaasahan kong magagawa mo ang iyong gawain pagkatapos mabasa ang tutorial na ito.