La maggior parte delle applicazioni del mondo reale conserva i dati nei database. Quindi è importante sapere come connettere la tua applicazione a un database e recuperare i dati da esso.

MySQL è una scelta eccellente per un database. È facile da usare, ha un supporto diffuso ed è uno dei database relazionali più popolari.

Prima di iniziare

Dal momento che testerai il codice di connessione su un server MySQL locale, dovrai farlo installare un server MySQL primo. Una volta fatto, crea un database vuoto e assicurati di avere il nome utente e la password a portata di mano.

Crea un'applicazione nodo

Nel tuo terminale, esegui il comando seguente per creare una nuova cartella per l'applicazione del tuo nodo:

mkdir node-mysql

Passa a node-mysql cartella e inizializzarla usando npm:

CD node-mysql
npm init -y

Questo genererà un file package.json che, tra le altre configurazioni, conterrà le dipendenze del tuo progetto.

Connetti il ​​nodo a MySQL

Esistono diversi modi per connettere l'applicazione del nodo a MySQL. Il

instagram viewer
MySQL2 pacchetto è una scelta eccellente, che puoi installare con un comando come questo:

npm installa mysql2

Per effettuare la connessione, sono necessari diversi valori, ovvero l'host, la porta, l'utente, il database e la password. Ecco un esempio che si connette a un database chiamato nododb su un server MySQL installato localmente.

cost configurazione = {
host: "localhost",
porta: 3306,
database: "nodedb",
utente: "root",
parola d'ordine: "********",
}

Questo è il config oggetto che passerai al metodo di connessione come nel programma sottostante.

cost MySQL = richiedere("mysql2")

cost configurazione = {
host: "localhost",
database: "nome_db",
utente: "mysql_username",
password: "mysql_password",
limite di connessione: 100,
}

cost connessione = mysql.createConnection (config)

connection.connect(funzione(err) {
Se (errare) gettare(errare);
consolle.log("Connesso!");
});

Quando si passano i dettagli del database a mysql.createConnection() metodo, si crea un oggetto di connessione. L'oggetto connessione ti consentirà di eseguire transazioni come la creazione, l'eliminazione o la lettura di tabelle.

Ad esempio, il codice seguente crea una tabella nel database a cui ci si connette.

connection.connect(funzione(err) {
Se (errare) gettare erra;
consolle.log("Connesso!");

permettere creaUtente = `CREA utenti TABELLA (id_utente INT(100), nome_utente VARCHAR(255), email VARCHAR(255))`;

connection.query (createUser, funzione(err, risultati, campi) {
Se (erro) {
consolle.log (messaggio di errore);
}
});
});

Quando lo esegui, questa query creerà una nuova tabella chiamata utenti nella banca dati. La query utilizza una sintassi comune a cui puoi adattarti creare uno schema di database MySQL che si adatta alle tue esigenze.

Il programma di connessione sopra funziona bene se si desidera effettuare una sola connessione. Tuttavia, quando si effettuano richieste di connessione simultanee, è preferibile utilizzare un pool di connessioni.

Connetti il ​​nodo a MySQL utilizzando un pool di connessioni

Aprire e chiudere le connessioni può diventare costoso, soprattutto quando ce ne sono molte. Il pool di connessioni al database consente di ridurre questo costo mantenendo un pool di connessioni aperte. Quando viene effettuata una richiesta, il pool può fornire una connessione aperta su richiesta.

In questo modo risparmi tempo perché non devi aprire una nuova connessione ogni volta.

Utilizzare il codice seguente per creare un pool di connessioni in Node:

cost MySQL = richiedere("mysql2");

cost configurazione = {
ospite: "host locale",
Banca dati: "db_name",
utente: "mysql_nomeutente",
parola d'ordine: "mysql_password",
limite di connessione: 100,
}

cost pool = mysql.createPool (config);

pool.query("SELEZIONA * DA qualche_tabella", (err, dati) => {
Se (errare) gettare(errare)
consolle.log (dati);
});

Ricordarsi di modificare i dettagli di configurazione in modo che corrispondano al proprio ambiente.

Connessione sicura a MySQL

La libreria mysql2 semplifica il processo di connessione di un'applicazione Node a un database MySQL. È possibile utilizzare un singolo client o un pool di connessioni. Tuttavia, se devi effettuare più richieste, è meglio utilizzare un pool di connessioni poiché è meno costoso.

La connessione al database è solo il primo passo. Dovresti anche assicurarti che i dati che memorizzi nel database siano sicuri. Dopotutto, MySQL è un bersaglio popolare per gli aggressori. Ci sono alcuni passaggi di base che puoi eseguire per proteggere il tuo server di database MySQL. Imposta una password utente complessa, limita gli accessi remoti e non concedere privilegi non necessari.