Die meisten realen Anwendungen speichern Daten in Datenbanken. Daher ist es wichtig zu wissen, wie Sie Ihre Anwendung mit einer Datenbank verbinden und Daten daraus abrufen.

MySQL ist eine ausgezeichnete Wahl für eine Datenbank. Sie ist einfach zu bedienen, wird weithin unterstützt und ist eine der beliebtesten relationalen Datenbanken.

Bevor Sie beginnen

Da Sie den Verbindungscode auf einem lokalen MySQL-Server testen, müssen Sie dies tun Installieren Sie einen MySQL-Server Erste. Sobald Sie dies getan haben, erstellen Sie eine leere Datenbank und stellen Sie sicher, dass Sie den Benutzernamen und das Passwort zur Hand haben.

Erstellen Sie eine Knotenanwendung

Führen Sie in Ihrem Terminal den folgenden Befehl aus, um einen neuen Ordner für Ihre Knotenanwendung zu erstellen:

mkdir node-mysql

Navigieren Sie zu node-mysql Ordner und initialisieren Sie ihn mit npm:

CD node-mysql
npm init -y

Dadurch wird eine package.json-Datei generiert, die neben anderen Konfigurationen die Abhängigkeiten Ihres Projekts enthält.

Knoten mit MySQL verbinden

Es gibt mehrere Möglichkeiten, wie Sie Ihre Knotenanwendung mit MySQL verbinden können. Das mysql2 Paket ist eine ausgezeichnete Wahl, die Sie mit einem Befehl wie diesem installieren können:

npm mysql2 installieren

Um die Verbindung herzustellen, benötigen Sie mehrere Werte, nämlich Host, Port, Benutzer, Datenbank und Passwort. Hier ist ein Beispiel, das eine Verbindung zu einer Datenbank namens herstellt Knotendatenbank auf einem lokal installierten MySQL-Server.

konst Konfiguration = {
host: "localhost",
Hafen: 3306,
Datenbank: "nodedb",
Benutzer: "root",
Passwort: "********",
}

Dies ist das Konfig -Objekt übergeben Sie wie im folgenden Programm an die Verbindungsmethode.

konst mysql= benötigen("mysql2")

konst Konfiguration = {
host: "localhost",
Datenbank: "db_name",
Benutzer: "mysql_Benutzername",
Passwort: "mysql_passwort",
Verbindungslimit: 100,
}

konst connection = mysql.createConnection (Konfiguration)

verbindung.connect(Funktion(irren) {
wenn (irren) Wurf(irren);
Konsole.log("Verbunden!");
});

Wenn Sie die Datenbankdetails an die übergeben mysql.createConnection() -Methode erstellen Sie ein Verbindungsobjekt. Mit dem Verbindungsobjekt können Sie Transaktionen wie das Erstellen, Löschen oder Lesen von Tabellen durchführen.

Der folgende Code erstellt beispielsweise eine Tabelle in der Datenbank, zu der Sie eine Verbindung herstellen.

verbindung.connect(Funktion(irren) {
wenn (irren) Wurf irren;
Konsole.log("Verbunden!");

Lassen createUser = `CREATE TABLE users (user_id INT(100), user_name VARCHAR(255), email VARCHAR(255))`;

connection.query (createUser, Funktion(Fehler, Ergebnisse, Felder) {
wenn (irren) {
Konsole.log (Fehlermeldung);
}
});
});

Wenn Sie es ausführen, erstellt diese Abfrage eine neue Tabelle mit dem Namen Benutzer in der Datenbank. Die Abfrage verwendet eine allgemeine Syntax, an die Sie sich anpassen können Erstellen Sie ein MySQL-Datenbankschema das Ihren Bedürfnissen entspricht.

Das obige Verbindungsprogramm funktioniert einwandfrei, wenn Sie nur eine einzige Verbindung herstellen möchten. Wenn Sie jedoch gleichzeitig Verbindungsanforderungen stellen, ist es am besten, einen Verbindungspool zu verwenden.

Knoten über einen Verbindungspool mit MySQL verbinden

Das Öffnen und Schließen von Verbindungen kann teuer werden, besonders wenn es viele gibt. Das Poolen von Datenbankverbindungen trägt dazu bei, diese Kosten zu reduzieren, indem ein Pool offener Verbindungen verwaltet wird. Wenn eine Anfrage gestellt wird, kann der Pool bei Bedarf eine offene Verbindung bereitstellen.

Dadurch sparen Sie Zeit, da Sie nicht jedes Mal eine neue Verbindung öffnen müssen.

Verwenden Sie den folgenden Code, um einen Verbindungspool in Node zu erstellen:

konst mysql= benötigen("mysql2");

konst Konfiguration = {
Gastgeber: "lokaler Host",
Datenbank: "Datenbankname",
Benutzer: "mysql_benutzername",
Passwort: "mysql_passwort",
Verbindungslimit: 100,
}

konst pool = mysql.createPool (config);

pool.query("SELECT * FROM some_table", (ähm, Daten) => {
wenn (irren) Wurf(irren)
Konsole.Logdaten);
});

Denken Sie daran, die Konfigurationsdetails an Ihre eigene Umgebung anzupassen.

Sichere Verbindung zu MySQL

Die mysql2-Bibliothek vereinfacht den Prozess der Verbindung einer Node-Anwendung mit einer MySQL-Datenbank. Sie können entweder einen einzelnen Client oder einen Verbindungspool verwenden. Wenn Sie jedoch mehrere Anfragen stellen müssen, ist es am besten, einen Verbindungspool zu verwenden, da dies weniger kostspielig ist.

Die Verbindung zur Datenbank ist nur der erste Schritt. Sie sollten auch sicherstellen, dass die Daten, die Sie in der Datenbank speichern, sicher sind. Schließlich ist MySQL ein beliebtes Ziel für Angreifer. Es gibt einige grundlegende Schritte, die Sie unternehmen können, um Ihren MySQL-Datenbankserver zu sichern. Legen Sie ein sicheres Benutzerkennwort fest, beschränken Sie Remote-Anmeldungen und gewähren Sie keine unnötigen Berechtigungen.