Какие драйверы MySQL доступны для node.js?

Есть ли Node.JS драйвер для MySQL, который обычно используется, кроме node -mysql?

(Похоже, что с драйверами базы данных Node.js не так много. Есть ли причина для этого или просто потому, что Node.JS так молод?)

Ответ 2

Вы также можете попробовать более новое усилие, известное как Node.js DB, целью которого является предоставление общей структуры для нескольких движков базы данных. Он построен на С++, поэтому гарантируется производительность.

В частности, вы можете использовать его драйвер db-mysql для Node.js Поддержка MySQL.

Ответ 4

Если вам нужен ORM для MySQL, вы можете проверить http://sequelizejs.com:)

Ответ 5

Для подключения к MySQL с node.js, я имел большой успех, используя node-odbc

Он также работал безупречно для подключения к другим базам данных, таким как IBM DB2, и это было неожиданно быстро.

Эта страница особенно полезна для настройки ODBC на Linux.

После установки с помощью yum install mysql-connector-odbc мой файл /etc/odbc.ini выглядит следующим образом:

[MYSQL]
Description = MySQL ODBC Driver
Driver      = /usr/lib64/libmyodbc3.so

Я оставил такие вещи, как сервер, пользователь, база данных, порт, пароль и т.д., чтобы я мог установить их из моей строки подключения (мне нужно подключиться к нескольким базам данных).

После сохранения /etc/odbc.ini он устанавливается с помощью этой команды: odbcinst -i -s -l -f /etc/odbc.ini

И вот пример кода для его тестирования:

    var odbc = require("odbc");
    var db = new odbc.Database();
    var conn = "dsn=mysql;server=localhost;user=root;database=mydb;port=3306;password=mypwd;command timeout=30000;";
    db.open(conn, function(err) {
        if(err) throw err;
        var params = ['[email protected]'];
        var qry = "select * users where email = ?";
        db.query(qry, params, function(err, rows, def) {
            if(err) console.log(err);
            console.log(rows);
        });
    });

Или, если вы хотите использовать coffeescript:

    odbc = require "odbc"
    db = new odbc.Database()
    conn = "dsn=mysql;server=localhost;user=root;database=mydb;port=3306;password=mypwd;command timeout=30000;"

    db.open conn, (err) ->
        throw err if err

        qry = "select * from users where email = ?"

        db.query sql, ["[email protected]"], (err, rows, def) ->
            if err? then console.log err else
            console.log rows