Večina aplikacij iz resničnega sveta hrani podatke v bazah podatkov. Zato je pomembno vedeti, kako svojo aplikacijo povezati z bazo podatkov in iz nje pridobiti podatke.

MySQL je odlična izbira za bazo podatkov. Je enostavna za uporabo, ima široko podporo in je ena izmed najbolj priljubljenih relacijskih baz podatkov.

Preden začneš

Ker boste kodo povezave testirali na lokalnem strežniku MySQL, boste to morali namestite strežnik MySQL najprej. Ko to storite, ustvarite prazno bazo podatkov in se prepričajte, da imate pri roki uporabniško ime in geslo.

Ustvarite aplikacijo Node

V terminalu zaženite naslednji ukaz, da ustvarite novo mapo za aplikacijo vozlišča:

mkdir vozlišče-mysql

Pomaknite se do vozlišče-mysql mapo in jo inicializirajte z npm:

cd vozlišče-mysql
npm init -y

To bo ustvarilo datoteko package.json, ki bo med drugimi konfiguracijami vsebovala odvisnosti vašega projekta.

Povežite vozlišče z MySQL

Obstaja več načinov, kako lahko svojo aplikacijo vozlišča povežete z MySQL. The mysql2 paket je odlična izbira, ki ga lahko namestite z ukazom, kot je ta:

instagram viewer
npm namestite mysql2

Za vzpostavitev povezave potrebujete več vrednosti, in sicer gostitelj, vrata, uporabnik, bazo podatkov in geslo. Tukaj je primer, ki se poveže z bazo podatkov z imenom nodedb na strežniku MySQL, nameščenem lokalno.

konst konfiguracija = {
gostitelj: "localhost",
pristanišče: 3306,
baza podatkov: "nodedb",
uporabnik: "root",
geslo: "**********",
}

To je konfigur predmet, ki ga boste posredovali v način povezave, kot je prikazano v spodnjem programu.

konst mysql = zahtevajo("mysql2")

konst konfiguracija = {
gostitelj: "localhost",
baza podatkov: "db_name",
uporabnik: "mysql_username",
geslo: "mysql_password",
omejitev povezave: 100,
}

konst povezava = mysql.createConnection (config)

connection.connect(funkcijo(napaka) {
če (napaka) vrgel(napaka);
konzolo.log("Povezano!");
});

Ko posredujete podrobnosti baze podatkov v mysql.createConnection() metodo, ustvarite objekt povezave. Objekt povezave vam bo omogočil izvajanje transakcij, kot je ustvarjanje, brisanje ali branje tabel.

Naslednja koda na primer ustvari tabelo v bazi podatkov, s katero se povežete.

connection.connect(funkcijo(napaka) {
če (napaka) vrgel napaka;
konzolo.log("Povezano!");

pustiti createUser = `USTVARI TABLE uporabnikov (user_id INT(100), uporabniško_ime VARCHAR(255), e-pošta VARCHAR(255))`;

connection.query (createUser, funkcijo(napaka, rezultati, polja) {
če (napaka) {
konzolo.log (napaka.sporočilo);
}
});
});

Ko jo zaženete, bo ta poizvedba ustvarila novo tabelo z imenom uporabnikov v bazi podatkov. Poizvedba uporablja običajno sintakso, ki se ji lahko prilagodite ustvarite shemo baze podatkov MySQL ki ustreza vašim potrebam.

Zgornji program za povezavo deluje dobro, če želite vzpostaviti samo eno povezavo. Vendar je pri vzpostavljanju sočasnih zahtev za povezavo najbolje uporabiti področje povezav.

Povežite vozlišče z MySQL z uporabo področja povezav

Odpiranje in zapiranje povezav lahko postane drago, še posebej, če jih je veliko. Združevanje povezav baze podatkov pomaga zmanjšati te stroške z vzdrževanjem skupine odprtih povezav. Ko se zahteva zahteva, lahko bazen na zahtevo zagotovi odprto povezavo.

S tem prihranite čas, saj vam ni treba vsakič odpreti nove povezave.

Za ustvarjanje področja povezav v vozlišču uporabite naslednjo kodo:

konst mysql = zahtevajo("mysql2");

konst konfiguracija = {
gostitelj: "lokalni gostitelj",
baza podatkov: "db_name",
uporabnik: "mysql_username",
geslo: "mysql_password",
omejitev povezave: 100,
}

konst bazen = mysql.createPool (konfiguracija);

pool.query("IZBERI * IZ neke_tabele", (napaka, podatki) => {
če (napaka) vrgel(napaka)
konzolo.log (podatki);
});

Ne pozabite spremeniti podrobnosti konfiguracije, da se ujemajo z vašim okoljem.

Varna povezava z MySQL

Knjižnica mysql2 poenostavlja postopek povezovanja aplikacije Node z bazo podatkov MySQL. Uporabite lahko enega odjemalca ali področje povezav. Če pa morate vložiti več zahtev, je najbolje uporabiti področje povezav, saj je cenejše.

Povezava z bazo podatkov je le prvi korak. Prav tako morate zagotoviti, da so podatki, ki jih shranite v bazo podatkov, varni. Konec koncev je MySQL priljubljena tarča napadalcev. Obstaja nekaj osnovnih korakov, ki jih lahko izvedete za zaščito strežnika baz podatkov MySQL. Nastavite močno uporabniško geslo, omejite oddaljene prijave in ne dodeljujte nepotrebnih privilegijev.