2014-04-22 17 views
7

Ich verwende Mariadb bereits als MySQL-Server. Ich bin mir jedoch nicht sicher, ob es sinnvoll ist, ein für mysql entwickeltes Knotenpaket zu verwenden.Node-Mysql mit Mariadb

Es gibt eigentlich zwei Knoten Pakete:

ich derzeit MySQL verwenden, da es ziemlich ausgereift und gepflegt zu sein scheint. Es scheint auch gut mit Mariadb auf meiner Seite zu arbeiten.

Gibt es Einschränkungen/Inkompatibilitäten/Sicherheitsprobleme mysqljs/mysql über mscdex/node-mariasql für einen Mariadb-Server zu verwenden?

Dank

Antwort

5

Nein, es spielt keine Rolle, welche Sie verwenden. MariaDB ist abwärtskompatibel zu MySQL. Sie könnten sogar eine Verbindung zu MySQL mit node-mariasql herstellen, wenn Sie möchten.

+1

Dank. Wenn ich mir Ihre Paketquellen anschaue, gefällt mir die Idee, sich auf die dynamische Bibliothek (libmariadbclient) zu verlassen. Ich kann schließlich Node-Mariasql bevorzugen. – Ervadac

2

Hallo, ich arbeite gerade an einem Projekt mit Maria DB und ich verwende node-mysql für die Produktion. Es funktioniert wirklich gut für mich. Grund für die Verwendung von Node-Mariadb ist die Anzahl der Bewertungen und die Laufzeit des Pakets.

1

Mein Eindruck von Node-Mariasql ist, dass es unreif in Bezug auf die Unterstützung aller Datenbankoperationen ist (besonders vorbereitete Einfügeoperationen sind glanzlose ATM) und auch Dokumentation ist arm. Ich würde vorschlagen, node-mysql für Produktionsanwendungen zu verwenden.

2

habe ich mariasql in der Vergangenheit. Die Felder wurden nicht in den richtigen JS-Typ umgewandelt. Alles kam als String zurück (sogar ganze Zahlen). Ich werde den mysql Treiber ausprobieren. Scheint komisch, dass ich für jede Abfrage eine andere Verbindung verwenden muss, wenn ich es parallel machen möchte. Scheint so, als müsste das für mich abstrahiert werden.

1

Verwenden Sie diesen Code, um meine hilfreich sein für xampp mysql Verbindung mithilfe NodeJS

var mysql  = require('mysql'); 
    var connection = mysql.createConnection({ 
     host  : 'localhost', 
     user  : 'root', 
     password : '', 
     database : '<database name>' 
    }); 
    connection.connect(function(err) { 
     if (err) { 
     console.error('error connecting: ' + err.stack); 
     return; 
    } 
    else{ 
     console.log("database has been connected"); 
    } 
    }); 
    var queryString = 'SELECT * FROM <table name>'; 
    connection.query(queryString, function(err, rows, fields) { 
     if (err) throw err; 
     for (var i in rows) { 
      console.log('filesname: ', rows[i].fieldname); 
     } 
    }); 
    connection.end(); 
+0

Während dieses Code-Snippet willkommen ist und vielleicht etwas Hilfe bietet, wäre es [stark verbessert, wenn es eine Erklärung enthielt] (// meta.stackexchange.com/q/114762) von * wie * und * warum * das löst das Problem Problem. Denken Sie daran, dass Sie die Frage für Leser in der Zukunft beantworten, nicht nur die Person, die jetzt fragt! Bitte [bearbeiten] Sie Ihre Antwort, um eine Erläuterung hinzuzufügen und geben Sie an, welche Einschränkungen und Annahmen gelten. –