Łączenie MySQL z NodeJS

Connecting Mysql With Nodejs



Serwer MySQL jest bardzo popularnym serwerem bazodanowym i jest obsługiwany przez najczęściej używane języki programowania, takie jak PHP, Python, Perl, Java, C# itp. Jest to aplikacja typu open source, więc każdy może pobrać tę aplikację do przechowywania, pobierania , aktualizowanie i usuwanie danych za pomocą zapytań do bazy danych. Do wykonywania różnych typów operacji na bazie danych na serwerze bazy danych wymagane będzie zainstalowanie w systemie pakietów serwera i klienta. Serwer MySQL staje się teraz popularny również wśród programistów Node. Deweloperzy węzłów zaczynają używać serwera MySQL z MongoDB dla niektórych specjalnych funkcji serwera MySQL. W tym samouczku pokazano, w jaki sposób można nawiązać połączenie z serwerem MySQL za pomocą klienta node-mysql.

Warunek wstępny:

Przed rozpoczęciem tego samouczka musisz upewnić się, że pakiety serwera i klienta MySQL są zainstalowane i działają poprawnie w twoim systemie. Jeśli instalujesz serwer MySQL po raz pierwszy, hasło użytkownika root jest domyślnie puste. Ale musisz ustawić hasło dla użytkownika root, aby nawiązać połączenie z serwerem MySQL za pomocą node-mysql klient. Możesz to sprawdzić instruktaż wiedzieć, jak zmienić hasło roota serwera MySQL.







Uruchom następujące polecenia, aby pracować jako użytkownik root i połączyć się z serwerem MySQL za pomocą klienta MySQL.



$sudo -i
$ mysql-uźródło-P

Wprowadź hasło root i uruchom następujące polecenia SQL, aby utworzyć nową bazę danych, utworzyć tabelę w tej bazie danych i wstawić kilka rekordów do tej tabeli.



Następujące polecenie utworzy bazę danych o nazwie mydb .





STWÓRZ BAZA DANYCH mydb;

Następujące polecenie, aby wybrać bazę danych do wykonywania operacji na bazie danych.

posługiwać się mydb;

Następujące polecenie utworzy tabelę o nazwie książka w bazie danych mydb.



STWÓRZ TABELA książka(
NS WEWN (6) NIEPODPISANY AUTO_INCREMENT GŁÓWNY KLUCZ ,
tytuł VARCHAR (pięćdziesiąt) NIE ZERO ,
autor VARCHAR (pięćdziesiąt) NIE ZERO ,
Cena £ int (5));

Następujące polecenie wstawi cztery rekordy do książka Tabela.

WSTAWIĆ DO książka wartości
( ZERO ,„Nauka PHP i MySQL”, „Robin Nixon”, Cztery pięć),
( ZERO ,„Nauka JQuery”, „Jonathan”, 35),
( ZERO ,„Kątowy w działaniu”, Jeremy, pięćdziesiąt),
( ZERO ,„Opanowanie Laravela”, 'Krzysztof', 55);

Zainstaluj klienta mysql dla nodejs:

Uruchom następujące polecenie, aby sprawdzić nodejs jest instalowany w systemie przed uruchomieniem polecenia instalacji klienta mysql węzła nodejs. Pokaże zainstalowaną wersję nodejs.

$węzeł-v

Jeśli nie jest zainstalowany, musisz go zainstalować, uruchamiając następujące polecenie.

$sudo apt-get installnodejs

Będziesz potrzebować innego pakietu o nazwie npm do zainstalowania w systemie, aby zainstalować klienta mysql dla nodejs. Jeśli nie jest zainstalowany przed uruchomieniem następującego polecenia, aby zainstalować npm .

$sudo apt-get installnpm

Teraz uruchom następujące polecenie, aby zaktualizować system.

$sudo aktualizacja apt-get

Zostanie zainstalowana następująca komenda mysql moduł dla nodejs, który będzie działał jako klient mysql.

$npmzainstalowaćmysql

Proste połączenie MySQL przy użyciu NodeJS:

Utwórz plik JS o nazwie połączenie1.js za pomocą poniższego skryptu, aby nawiązać połączenie z wcześniej utworzoną bazą danych o nazwie mydb i odczytaj dane z książka Tabela. mysql moduł jest importowany i służy do tworzenia prostego połączenia z serwerem MySQL. Następnie zostanie wykonane zapytanie, aby odczytać wszystkie rekordy z książka tabeli, jeśli baza danych jest podłączona prawidłowo. Jeśli zapytanie zostało wykonane poprawnie, to wszystkie rekordy książka w terminalu zostanie wydrukowana tabela, a połączenie z bazą danych zostanie zamknięte.

połączenie1.js

// Importuj moduł mysql
niech mysql=wymagać('mysql');

// Ustaw parametr połączenia z bazą danych
pozwól na połączenie=mysql.utwórz połączenie({
gospodarz: 'Lokalny Gospodarz',
użytkownik: 'źródło',
hasło: '1234',
Baza danych: „moja baza”
});

// Połącz z bazą danych
połączenie.łączyć(funkcjonować(I) {
Jeśli (I) {

// Pokaż komunikat o błędzie w przypadku niepowodzenia
powrótkonsola.błąd('błąd: ' +I.wiadomość);
}

// Pokaż komunikat o powodzeniu, jeśli jest podłączony
konsola.Dziennik(' Połączono z serwerem MySQL... ');
});

// Ustaw wiadomość zapytania
$zapytanie= 'WYBIERZ * z książki';

// Wykonaj zapytanie do bazy danych
połączenie.zapytanie($zapytanie, funkcjonować(I,wydziwianie) {
Jeśli(I){

// Pokaż komunikat o błędzie
konsola.Dziennik('Wystąpił błąd podczas wykonywania zapytania.');
powrót;
}
/* Wyświetl sformatowane dane pobrane z tabeli 'book'
używanie pętli for */

konsola.Dziennik(„Zapisy tabeli księgowej: ');
konsola.Dziennik('TytułTTTTAutorTTCena £ ');
dla(niech rząd rzędów) {
konsola.Dziennik(wiersz['tytuł'],'TT',wiersz['autor'],'T',„$”,wiersz['Cena £']);
}
});

// Zamknij połączenie z bazą danych
połączenie.kończyć się(funkcjonować(){
konsola.Dziennik(' Połączenie zamknięte. ');
});

Wyjście:

Uruchom następujące polecenie, aby wykonać skrypt.

$połączenie węzła1.js

Poniższe dane wyjściowe pojawią się po uruchomieniu skryptu.

Połączenie MySQL w puli przy użyciu NodeJS:

Tworzenie prostego połączenia MySQL z NodeJS przy użyciu mysql moduł jest pokazany w poprzednim przykładzie. Ale wielu użytkowników może łączyć się z serwerem bazy danych na raz za pośrednictwem aplikacji, gdy aplikacja jest tworzona za pomocą MySQL baza danych do celów produkcyjnych. Będziesz potrzebował wyrazić moduł do obsługi jednoczesnych użytkowników bazy danych i obsługi wielu połączeń z bazą danych.

Uruchom następujące polecenie, aby zainstalować wyrazić moduł.

$npmzainstalowaćwyrazić

Utwórz plik JS o nazwie połączenie2.js z następującym skryptem. Jeśli połączysz się z MySQL za pomocą poniższego skryptu, to 10 jednoczesnych użytkowników będzie mogło nawiązać połączenie z serwerem bazy danych i pobrać dane z tabeli na podstawie zapytania. Nawiąże połączenie na porcie 5000.

połączenie2.js

// Importuj moduł mysql
gdziemysql=wymagać('mysql');

// Importuj moduł ekspresowy
gdziewyrazić=wymagać('wyrazić');

// Zdefiniuj obiekt modułu ekspresowego
gdzieaplikacja=wyrazić();

// Nawiąż połączenie z bazą danych, aby obsłużyć 10 jednoczesnych użytkowników
gdziebasen=mysql.utwórz basen({
limit połączenia:10,
gospodarz: 'Lokalny Gospodarz',
użytkownik: 'źródło',
hasło: '1234',
Baza danych: „moja baza”,
odpluskwić: prawda
});

/* Nawiąż połączenie w puli z bazą danych i odczytaj określone rekordy z tabeli tego
Baza danych */

funkcjonowaćuchwyt_bazy danych(wniosek,odpowiedź) {

// Dokonać połączenia
basen.pobierz połączenie(funkcjonować(I,połączenie){
Jeśli (I) {

//Wyślij komunikat o błędzie dla nieudanego połączenia i zakończ
odpowiedź.json({'kod' : 300, 'status' : „Błąd połączenia z bazą danych”});
powrót;
}

// Wyświetl komunikat o powodzeniu w terminalu
konsola.Dziennik(„Połączono z bazą danych”);

// Odczytaj poszczególne rekordy z tabeli księgowej
połączenie.zapytanie('WYBIERZ * z książki, gdzie tytuł taki jak '%PHP%' lub tytuł taki jak
'%Laravel%'
,funkcjonować(I,wydziwianie){połączenie.uwolnienie();
Jeśli(!I) {

// Zwróć wynik zapytania, jeśli zostało pomyślnie wykonane
odpowiedź.json(wydziwianie);
}
});

// Sprawdź, czy wystąpił błąd połączenia, czy nie
połączenie.na('błąd', funkcjonować(I) {
odpowiedź.json({'kod' : 300, 'status' : „Błąd połączenia z bazą danych”});
powrót;
});
});
}

// Wywołaj funkcję do tworzenia połączeń
aplikacja.dostwać('/',funkcjonować(wniosek,odpowiedź){-
uchwyt_bazy danych(wniosek,odpowiedź);
});

// Odsłuchaj żądanie połączenia na porcie 5000
aplikacja.słuchać(5000);

Wyjście:

Uruchom skrypt z terminala, tak jak w poprzednim przykładzie. Po uruchomieniu skryptu poczeka na żądanie połączenia.

$połączenie węzła2.js

Teraz otwórz dowolną przeglądarkę i przejdź do następującego adresu URL, aby wysłać żądanie połączenia.

http://localhost:5000

Następujące dane wyjściowe pojawią się jako odpowiedź po wykonaniu zapytania.

Jeśli otworzysz teraz terminal, zobaczysz następujące wyjście.

Dziesięć żądań połączenia może być wysłanych jednocześnie z 10 przeglądarek w sposób opisany powyżej.

Wniosek:

Najprostsze sposoby pracy z MySQL i NodeJS są pokazane na dwóch przykładach w tym samouczku. Jeśli jesteś nowym deweloperem Node i chcesz pracować z bazą danych MySQL, mam nadzieję, że po przeczytaniu tego samouczka będziesz w stanie wykonać swoje zadanie.