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 sprawdzić ten samouczek, aby dowiedzieć się, 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 root -p
Wprowadź hasło roota i uruchom następujące polecenia SQL, aby utworzyć nową bazę danych, utworzyć tabelę w tej bazie danych i wstawić kilka rekordów w tej tabeli.
Następujące polecenie utworzy bazę danych o nazwie mydb.
UTWÓRZ BAZĘ DANYCH mydb;Następujące polecenie, aby wybrać bazę danych do wykonywania operacji na bazie danych.
użyj mydb;Następujące polecenie utworzy tabelę o nazwie książka w bazie danych mydb.
UTWÓRZ TABELĘ książka (id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
tytuł VARCHAR(50) NOT NULL,
autor VARCHAR(50) NOT NULL,
cena int(5));
Następujące polecenie wstawi cztery rekordy do książka stół.
WSTAWIĆ DO wartości księgowych(NULL, 'Nauka PHP i MySQL', 'Robin Nixon', 45),
(NULL, 'Nauka JQuery', 'Jonathan', 35),
(NULL,'Kątowy w akcji', 'Jeremy', 50),
(NULL, 'Opanowanie Laravela', 'Christopher', 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. Wyświetli zainstalowaną wersję nodejs.
$ węzeł -vJeśli nie jest zainstalowany, musisz go zainstalować, uruchamiając następujące polecenie.
$ sudo apt-get install nodejsBę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 install npmTeraz uruchom następujące polecenie, aby zaktualizować system.
$ sudo apt-get updateZostanie zainstalowana następująca komenda mysql moduł dla nodejs, który będzie działał jako klient mysql.
$ npm zainstaluj mysqlProste 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 stół. 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 tabela, czy baza danych jest podłączona prawidłowo. Jeśli zapytanie zostało wykonane poprawnie, to wszystkie rekordy książka tabela zostanie wydrukowana w terminalu, a połączenie z bazą danych zostanie zamknięte.
połączenie1.js
// Importuj moduł mysqlniech mysql = require('mysql');
// Ustaw parametr połączenia z bazą danych
niech połączenie = mysql.utwórzPołączenie(
host: 'host lokalny',
użytkownik: 'root',
hasło: '1234',
baza danych: 'moja_baza'
);
// Połącz z bazą danych
połączenie.połącz(funkcja(e)
jeśli (e)
// Pokaż komunikat o błędzie w przypadku niepowodzenia
zwrot konsoli.error('błąd: ' + e.wiadomość);
// Pokaż komunikat o powodzeniu, jeśli jest podłączony
konsola.log('\nPołączono z serwerem MySQL… \n');
);
// Ustaw wiadomość zapytania
$query = 'WYBIERZ * z książki';
// Wykonaj zapytanie do bazy danych
połączenie.zapytanie($zapytanie, funkcja(e, wiersze)
jeśli(e)
// Pokaż komunikat o błędzie
konsola.log("Wystąpił błąd podczas wykonywania zapytania.”);
powrót;
/* Wyświetl sformatowane dane pobrane z tabeli 'book'
używanie pętli for */
konsola.log("Rekordy tabeli książki:\n");
konsola.log("Tytuł\t\t\t\t Autor\t\tcena\n");
for(niech wiersz wierszy)
konsola.log(row['tytuł'],"\t\t",row['autor'],"\t","$",row['cena']);
);
// Zamknij połączenie z bazą danych
połączenie.koniec(funkcja()
konsola.log('\nPołączenie zamknięte.\n');
);
Wynik:
Uruchom następujące polecenie, aby wykonać skrypt.
$ połączenie węzła1.jsNastępujące 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 połą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ł.
$ npm install expressUtwó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ł mysqlvar mysql = require('mysql');
// Importuj moduł ekspresowy
var express = require("ekspres");
// Zdefiniuj obiekt modułu ekspresowego
var aplikacja = ekspres();
// Nawiąż połączenie z bazą danych, aby obsłużyć 10 jednoczesnych użytkowników
var pula = mysql.utwórz pulę (
Limit połączenia :10,
host : 'hostlokalny',
użytkownik : 'root',
hasło : '1234',
baza danych : 'mydb',
debugowanie : prawda
);
/* Nawiąż połączenie w puli z bazą danych i odczytaj określone rekordy z tabeli tego
Baza danych */
function handle_database(żądanie,odpowiedź)
// Dokonać połączenia
basen.getConnection(funkcja(e,połączenie)
jeśli (e)
//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.log('Baza danych połączona');
// Odczytaj poszczególne rekordy z tabeli księgowej
połączenie.query("WYBIERZ * z książki, gdzie tytuł taki jak '%PHP%' lub tytuł taki jak
'% Laravel%'",function(e,rows) connection.wydanie();
gdyby(!e)
// Zwróć wynik zapytania, jeśli zostało pomyślnie wykonane
odpowiedź.json(wiersze);
);
// Sprawdź, czy wystąpił błąd połączenia, czy nie
połączenie.on('błąd', funkcja(e)
odpowiedź.json("kod" : 300, "status" : "Błąd połączenia z bazą danych");
powrót;
);
);
// Wywołaj funkcję do tworzenia połączeń
aplikacja.pobierz("/",function(żądanie,odpowiedź)-
handle_database(żądanie,odpowiedź);
);
// Odsłuchaj żądanie połączenia na porcie 5000
aplikacja.słuchać(5000);
Wynik:
Uruchom skrypt z terminala 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ć prośbę o połączenie.
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ęć próśb o połączenie 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 będziesz w stanie wykonać swoje zadanie po przeczytaniu tego samouczka.