2014-04-22 14 views
7

Uso già mariadb come server mysql. Tuttavia, non sono sicuro che usare un pacchetto di nodi progettato per mysql sia una buona idea da usare per mariadb.Node-mysql con mariadb

Ci sono in realtà due pacchetti di nodi:

Attualmente uso mysql, dal momento che sembra abbastanza maturo e mantenuto. Anche sembra funzionare bene con mariadb dalla mia parte.

Sono presenti restrizioni/incompatibilità/problemi di sicurezza per utilizzare mysqljs/mysql su mscdex/node-mariasql per un server mariadb?

Grazie

risposta

5

No, non importa quale usi. MariaDB è retrocompatibile con MySQL. Potresti anche connetterti a MySQL con node-mariasql se lo desideri.

+1

Grazie. Dando uno sguardo alle sorgenti del pacchetto, mi piace molto l'idea di fare affidamento sulla libreria dinamica (libmariadbclient). Potrei infine preferire node-mariasql. – Ervadac

2

Ciao, sto lavorando al progetto con Maria DB e sto usando node-mysql per la produzione. Funziona davvero bene per me. Il motivo di non utilizzare node-mariadb è il numero di valutazioni e la durata del pacchetto.

1

La mia impressione di nodo-mariasql è che è immaturo in termini di supporto di tutte le operazioni del database (in particolare le operazioni di inserimento preparate sono poco efficienti) e anche la documentazione è scadente. Suggerirei di usare node-mysql per le applicazioni di produzione.

2

Ho utilizzato mariasql in passato. Non ha inoltrato i campi al loro corretto tipo JS. Tutto è tornato come una stringa (anche interi). Ho intenzione di provare il driver mysql. Sembra strano che devo usare una connessione diversa per ogni query se voglio farlo in parallelo. Sembra che dovrebbe essere astratto per me.

1

Usa questo codice mio essere utile per il collegamento XAMPP mysql utilizzando 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

Sebbene questo snippet di codice sia benvenuto e possa fornire un aiuto, sarebbe [notevolmente migliorato se includesse una spiegazione] (// meta.stackexchange.com/q/114762) di * come * e * perché * questo risolve il problema problema. Ricorda che stai rispondendo alla domanda per i lettori in futuro, non solo la persona che chiede ora! Si prega di [modificare] la risposta per aggiungere una spiegazione e fornire un'indicazione di quali limitazioni e ipotesi si applicano. –

Problemi correlati