Nödvändig förutsättning:
Innan du börjar den här självstudien måste du bekräfta att MySQL -server och klientpaket är installerade och fungerar korrekt i ditt system. Om du installerar MySQL -servern för första gången är lösenordet för rotanvändaren som standard tomt. Men du måste ange lösenordet för rotanvändaren för att ansluta till MySQL -servern med nod-mysql klient. Du kan kontrollera detta handledning för att veta hur man ändrar rotlösenordet för MySQL -servern.
Kör följande kommandon för att fungera som en rotanvändare och ansluta till MySQL -servern med MySQL -klient.
$sudo -i
$ mysql-urot-s
Ange rotlösenordet och kör följande SQL -kommandon för att skapa en ny databas, skapa en tabell i databasen och infoga några poster i tabellen.
Följande kommando skapar en databas med namnet mydb .
SKAPA DATABAS mydb;
Följande kommando för att välja databas för att utföra databasoperationer.
använda sig av mydb;Följande kommando skapar en tabell med namnet bok i databasen mydb.
SKAPA TABELL bok(
id INT (6) OSIGNERAD AUTO_INCREMENT PRIMÄRNYCKEL ,
titel VARCHAR (femtio) INTE NULL ,
författare VARCHAR (femtio) INTE NULL ,
pris int (5));
Följande kommando infogar fyra poster i bok tabell.
FÖRA IN IN I bok värden( NULL ,'Lär dig PHP och MySQL', 'Robin Nixon', Fyra fem),
( NULL ,'Lärande JQuery', 'Jonathan', 35),
( NULL ,'Angular in Action', 'Jeremy', femtio),
( NULL ,'Mastering Laravel', 'Christopher', 55);
Installera mysql -klienten för nodejs:
Kör följande kommando för att kontrollera nodejs är installerat i systemet innan du kör kommandot för att installera mysql -klienten för nodejs. Den visar den installerade versionen av nodejs.
$nod-vOm det inte är installerat måste du installera det genom att köra följande kommando.
$sudo apt-get installnodejsDu kommer att behöva ett annat paket med namnet över havsnivå att installeras i systemet för att installera mysql -klient för nodejs. Om det inte är installerat innan du kör följande kommando för att installera över havsnivå .
$sudo apt-get installöver havsnivåKör nu följande kommando för att uppdatera systemet.
$sudo apt-get uppdateringFöljande kommando installeras mysql modul för nodejs som fungerar som mysql -klient.
$över havsnivåInstalleramysqlEnkel MySQL -anslutning med NodeJS:
Skapa en JS -fil med namnet connection1.js med följande skript för att upprätta en anslutning till den tidigare skapade databasen mydb och läs data från bok tabell. mysql modulen importeras och används för att skapa en enkel anslutning till MySQL -servern. Därefter körs en fråga för att läsa alla poster från bok tabell, om databasen är korrekt ansluten. Om frågan körs korrekt så alla poster av bok tabellen skrivs ut i terminalen och databasanslutningen stängs.
connection1.js
// Importera mysql -modulenlåt mysql=behöva('mysql');
// Installera databasanslutningsparameter
låt anslutningen=mysql.skapa anslutning({
värd: 'lokal värd',
användare: 'rot',
Lösenord: '1234',
databas: 'mydb'
});
// Anslut till databasen
förbindelse.ansluta(fungera(Och) {
om (Och) {
// Visa felmeddelanden vid fel
lämna tillbakatrösta.fel('fel:' +Och.meddelande);
}
// Visa framgångsmeddelande om den är ansluten
trösta.logga(' nAnsluten till MySQL -servern ... n');
});
// Ställ in frågemeddelandet
$ fråga= 'VÄLJ * från boken';
// Utför databasfrågan
förbindelse.fråga($ fråga, fungera(Och,rader) {
om(Och){
// Visa felmeddelandet
trösta.logga('Ett fel uppstod vid genomförandet av frågan.');
lämna tillbaka;
}
/* Visa de formaterade data som hämtats från 'bok' -tabellen
använder för loop */
trösta.logga('Bokböckerna: n');
trösta.logga('Titel t t t tFörfattare t tpris n');
för(låt rad rader) {
trösta.logga(rad['titel'],' t t',rad['författare'],' t','$',rad['pris']);
}
});
// Stäng databasanslutningen
förbindelse.slutet(fungera(){
trösta.logga(' nAnslutningen stängd. n');
});
Produktion:
Kör följande kommando för att köra skriptet.
$nodanslutning1.jsFöljande utdata visas efter att manuset har körts.
Samlad MySQL -anslutning med NodeJS:
Gör en enkel MySQL -anslutning med NodeJS med mysql modulen visas i föregående exempel. Men många användare kan ansluta till databasservern åt gången genom programmet när programmet skapas med MySQL databas för produktionsändamål. Du kommer att kräva uttrycka modul för att hantera samtidiga databasanvändare och stödja flera databasanslutningar.
Kör följande kommando för att installera uttrycka modul.
$över havsnivåInstallerauttryckaSkapa en JS -fil med namnet connection2.js med följande skript. Om du ansluter till MySQL med följande skript kommer 10 samtidiga användare att kunna ansluta till databasservern och hämta data från tabellen baserat på frågan. Det kommer att göra en anslutning vid port 5000.
connection2.js
// Importera mysql -modulenvarmysql=behöva('mysql');
// Importera expressmodul
varuttrycka=behöva('uttrycka');
// Definiera objekt för expressmodul
varapp=uttrycka();
// Gör databasanslutning för att hantera 10 samtidiga användare
varslå samman=mysql.createPool({
connectionLimit:10,
värd: 'lokal värd',
användare: 'rot',
Lösenord: '1234',
databas: 'mydb',
felsöka: Sann
});
/* Gör en sammankopplad anslutning till en databas och läs specifika poster från en tabell över det
databas */
fungerahandle_database(begäran,svar) {
// Anslut
slå samman.getConnection(fungera(Och,förbindelse){
om (Och) {
// Skicka felmeddelande för misslyckad anslutning och avsluta
svar.json({'koda' : 300, 'status' : 'Fel i databasanslutning'});
lämna tillbaka;
}
// Visa framgångsmeddelande i terminalen
trösta.logga('Databas ansluten');
// Läs särskilda poster från bokbordet
förbindelse.fråga('VÄLJ * från bok där titeln gillar'%PHP%'eller titel gillar
'%Laravel%' ',fungera(Och,rader){förbindelse.släpp();
om(!Och) {
// Returnera resultatuppsättningen för frågan om den har körts
svar.json(rader);
}
});
// Kontrollera att anslutningsfelet uppstår eller inte
förbindelse.på('fel', fungera(Och) {
svar.json({'koda' : 300, 'status' : 'Fel i databasanslutning'});
lämna tillbaka;
});
});
}
// Ring funktionen för att göra anslutningar
app.skaffa sig('/',fungera(begäran,svar){-
handle_database(begäran,svar);
});
// Lyssna på anslutningsbegäran på port 5000
app.lyssna(5000);
Produktion:
Kör skriptet från terminalen som föregående exempel. Det väntar på anslutningsbegäran efter att manuset har körts.
$nodanslutning2.jsÖppna nu vilken webbläsare som helst och gå till följande URL för att skicka en begäran om anslutning.
Följande utdata visas som ett svar efter att frågan har körts.
Om du öppnar terminalen nu ser du följande utdata.
Tio anslutningsförfrågningar kan skickas åt gången från 10 webbläsare på det sätt som nämns ovan.
Slutsats:
De enklaste sätten att arbeta med MySQL och NodeJS visas med två exempel i denna handledning. Om du är en ny nodutvecklare och vill arbeta med MySQL -databas hoppas jag att du kommer att kunna utföra din uppgift efter att ha läst den här självstudien.