Lielākā daļa reālās pasaules lietojumprogrammu saglabā datus datu bāzēs. Tāpēc ir svarīgi zināt, kā lietojumprogrammu savienot ar datu bāzi un iegūt no tās datus.

MySQL ir lieliska datubāzes izvēle. To ir viegli lietot, tam ir plašs atbalsts, un tā ir viena no populārākajām relāciju datu bāzēm.

Pirms tu sāc

Tā kā savienojuma kodu pārbaudīsit vietējā MySQL serverī, jums tas būs jādara instalēt MySQL serveri vispirms. Kad tas ir izdarīts, izveidojiet tukšu datu bāzi un pārliecinieties, vai jums ir pieejams lietotājvārds un parole.

Izveidojiet mezgla lietojumprogrammu

Terminālī palaidiet šo komandu, lai izveidotu jaunu mapi savai mezgla lietojumprogrammai:

mkdir node-mysql

Dodieties uz mezgls-mysql mapi un inicializējiet to, izmantojot npm:

cd mezgls-mysql
npm init -y

Tādējādi tiks ģenerēts fails package.json, kurā, cita starpā, būs arī jūsu projekta atkarības.

Savienojiet Node ar MySQL

Ir vairāki veidi, kā savienot mezgla lietojumprogrammu ar MySQL. The mysql2 pakotne ir lieliska izvēle, kuru varat instalēt ar šādu komandu:

instagram viewer
npm instalējiet mysql2

Lai izveidotu savienojumu, ir nepieciešamas vairākas vērtības, proti, resursdators, ports, lietotājs, datu bāze un parole. Šeit ir piemērs, kas savienojas ar datu bāzi ar nosaukumu nodedb lokāli instalētā MySQL serverī.

konst konfigurācija = {
saimniekdators: "localhost",
osta: 3306,
datu bāze: "nodedb",
lietotājs: "root",
parole: "********",
}

Tas ir konfigurācija objektu, kuru nosūtīsit savienojuma metodei, kā norādīts tālāk esošajā programmā.

konst mysql = pieprasīt("mysql2")

konst konfigurācija = {
saimniekdators: "localhost",
datu bāze: "db_name",
lietotājs: "mysql_username",
parole: "mysql_password",
savienojuma ierobežojums: 100,
}

konst savienojums = mysql.createConnection (config)

connect.connect(funkcija(kļūda) {
ja (kļūda) mest(kļūdīties);
konsole.log("Savienots!");
});

Kad nosūtāt datu bāzes informāciju uz mysql.createConnection() metodi, jūs izveidojat savienojuma objektu. Savienojuma objekts ļaus veikt darījumus, piemēram, tabulu izveidi, dzēšanu vai lasīšanu.

Piemēram, šis kods izveido tabulu datu bāzē, ar kuru izveidojat savienojumu.

connect.connect(funkcija(kļūda) {
ja (kļūda) mest kļūdīties;
konsole.log("Savienots!");

ļaut CreateUser = `CREATE TABLE lietotājus (lietotāja_id INT(100), lietotājvārds VARCHAR(255), e-pasts VARCHAR(255));

connect.query (createUser, funkcija(kļūda, rezultāti, lauki) {
ja (kļūda) {
konsole.log (err.message);
}
});
});

Palaižot to, šis vaicājums izveidos jaunu tabulu ar nosaukumu lietotājiem datubāzē. Vaicājumā tiek izmantota izplatīta sintakse, kurai varat pielāgoties izveidot MySQL datu bāzes shēmu kas atbilst jūsu vajadzībām.

Iepriekš minētā savienojuma programma darbojas labi, ja vēlaties izveidot tikai vienu savienojumu. Tomēr, veicot vienlaicīgus savienojuma pieprasījumus, vislabāk ir izmantot savienojumu pūlu.

Savienojiet mezglu ar MySQL, izmantojot savienojumu pūlu

Savienojumu atvēršana un aizvēršana var kļūt dārga, it īpaši, ja to ir daudz. Datu bāzes savienojumu apvienošana palīdz samazināt šīs izmaksas, uzturot atvērto savienojumu kopu. Pēc pieprasījuma baseins var nodrošināt atvērtu savienojumu pēc pieprasījuma.

To darot, jūs ietaupāt laiku, jo jums nav katru reizi jāatver jauns savienojums.

Izmantojiet šo kodu, lai mezglā izveidotu savienojuma pūlu:

konst mysql = pieprasīt("mysql2");

konst konfigurācija = {
saimniekdators: "vietējais saimnieks",
datu bāze: "db_nosaukums",
lietotājs: "mysql_lietotājvārds",
parole: "mysql_password",
savienojuma ierobežojums: 100,
}

konst baseins = mysql.createPool (config);

pool.query("SELECT * FROM some_table", (kļūda, dati) => {
ja (kļūda) mest(kļūda)
konsole.log (dati);
});

Atcerieties mainīt konfigurācijas informāciju, lai tā atbilstu jūsu videi.

Droša savienojuma izveide ar MySQL

Mysql2 bibliotēka vienkāršo procesu, kas savieno Node lietojumprogrammu ar MySQL datu bāzi. Varat izmantot vienu klientu vai savienojumu pūlu. Tomēr, ja jums ir jāiesniedz vairāki pieprasījumi, vislabāk ir izmantot savienojumu pūlu, jo tas ir lētāks.

Savienojuma izveide ar datu bāzi ir tikai pirmais solis. Jums arī jāpārliecinās, ka datubāzē saglabātie dati ir droši. Galu galā MySQL ir populārs uzbrucēju mērķis. Ir dažas pamata darbības, kuras varat veikt, lai aizsargātu savu MySQL datu bāzes serveri. Iestatiet spēcīgu lietotāja paroli, ierobežojiet attālās pieteikšanās iespējas un nepiešķiriet nevajadzīgas privilēģijas.