带有 mariadb 的节点 mysql
Posted
技术标签:
【中文标题】带有 mariadb 的节点 mysql【英文标题】:Node-mysql with mariadb 【发布时间】:2014-06-07 05:25:11 【问题描述】:我已经使用 mariadb 作为 mysql 服务器。但是,我不确定使用为 mysql 设计的节点包是否适合用于 mariadb。
其实有两个node包:
为mscdex/node-mariasql 为mysqljs/mysql我目前使用 mysql,因为它看起来相当成熟和维护。 它似乎也适用于我身边的 mariadb。
对于 mariadb 服务器使用 mysqljs/mysql 而不是 mscdex/node-mariasql 是否存在任何限制/不兼容/安全问题?
谢谢
【问题讨论】:
【参考方案1】:不,您使用哪个都没有关系。 MariaDB 向后兼容 MySQL。如果需要,您甚至可以使用 node-mariasql 连接到 MySQL。
【讨论】:
谢谢。看看你的包源,我真的很喜欢依赖动态库(libmariadbclient)的想法。我可能最终更喜欢 node-mariasql。【参考方案2】:您好,我目前正在使用 Maria DB 进行项目,并且正在使用 node-mysql 进行生产。它对我来说真的很好用。不使用 node-mariadb 的原因是包的评级数量和成熟度。
【讨论】:
【参考方案3】:我对 node-mariasql 的印象是它在支持所有数据库操作方面不成熟(特别是准备好的插入操作是乏善可陈的 atm),而且文档也很差。我建议将 node-mysql 用于生产应用程序。
【讨论】:
【参考方案4】:我过去使用过mariasql
。它没有将字段转换为正确的 JS 类型。一切都以字符串(甚至整数)的形式返回。我要试用mysql
驱动程序。如果我想并行执行,我必须为每个查询使用不同的连接,这似乎很奇怪。对我来说似乎应该抽象出来。
【讨论】:
【参考方案5】:使用此代码有助于使用 NodeJS 连接 xampp mysql
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();
【讨论】:
虽然欢迎使用此代码 sn-p,并且可能会提供一些帮助,但它会是 how 和 why 的 greatly improved if it included an explanation 这解决了问题。请记住,您正在为将来的读者回答问题,而不仅仅是现在提问的人!请edit您的答案添加解释,并说明适用的限制和假设。以上是关于带有 mariadb 的节点 mysql的主要内容,如果未能解决你的问题,请参考以下文章
超时错误重新启动 mysql (mariadb) 这是 3 节点 galera 集群中的节点之一