标签: node-mysql

在Node.js中解密MySQL的AES_ENCRYPT

我有一个问题,使用AES解密缓冲对象,我希望有人有一个想法,我做错了什么...

我的例子:我有一个带有AES_ENCRYPT的MySQL表用于用户名和密码......

CREATE TABLE Accounts 
(
    id INT(4) NOT NULL AUTO_INCREMENT,
    username VARBINARY(128) NOT NULL,
    password VARBINARY(128) NOT NULL,
    PRIMARY KEY(id)
);

DELIMITER |
CREATE TRIGGER encodeAccounts BEFORE INSERT ON Accounts
FOR EACH ROW BEGIN
    SET NEW.username = AES_ENCRYPT(NEW.username, 'password');
    SET NEW.password = AES_ENCRYPT(NEW.password, 'password');
END;
Run Code Online (Sandbox Code Playgroud)

Node.JS:我使用node-mysql模块向我的数据发送查询:

SELECT * FROM Accounts;
Run Code Online (Sandbox Code Playgroud)

为密码和用户名返回此类值:

<Buffer 07 86 95 ee 77 df 86 50 ae 18 4c d5 3e 48 42 75>
Run Code Online (Sandbox Code Playgroud)

如何使用Node.JS解密方法解码它?我的尝试都失败了...我希望AES-128-ECB正确选择......

在Node.JS中取消内容应该如下所示:

var decipher = crypto.createDecipher('AES-128-ECB', 'password');
var dec = decipher.update(rows[i].username); …
Run Code Online (Sandbox Code Playgroud)

mysql buffer aes node.js node-mysql

2
推荐指数
1
解决办法
2097
查看次数

Node/Express 待处理请求

我对 Node.js 还很陌生,目前它非常棒。我在本地运行节点 (/w express) 时遇到了一个小问题 - 第 10 个请求之后的每个请求都会挂起,并在 Chrome 检查网络中标记为待处理。

至于模块,我使用 less-middleware、express、jade 和 MySQL,并且我只执行一个 SQL 查询(使用 mysql.createPool)。为什么此请求仍处于待处理状态?我该如何解决此问题?

由于我是 Node 的新人,我不确定我是否已经尝试过所有方法,因此我们将不胜感激!

javascript performance node.js express node-mysql

2
推荐指数
1
解决办法
3774
查看次数

在 Node.JS 中使用配置文件的最佳方法

我有一个 Node.JS 应用程序的配置文件(如下简化)

module.exports = function(){
  var settings = {
    port: '8088'
  }; 
  settings.mysql = {
    host : 'localhost',
    database : 'test'
  };
  // Override default settings
  switch(process.env.NODE_ENV){
    case 'production':
      settings.port = 8082;
    break;
    case 'staging':
      settings.port = 8083;
    break;     
  }
  return settings;
};
Run Code Online (Sandbox Code Playgroud)

当我启动 Express.js 应用程序时,我需要此文件进行一些基本设置:

var Config = require('./config'),  settings = new Config();
var port = process.env.PORT || settings.port;    // set our port
Run Code Online (Sandbox Code Playgroud)

稍后我还需要在 DAO 中(在我的模型中)使用此文件中的 MySQL 设置。此时我调用配置文件(它将再次运行它)

var Config = require('../config'), settings = new Config();
var mysql …
Run Code Online (Sandbox Code Playgroud)

javascript mysql node.js node-mysql

2
推荐指数
1
解决办法
9941
查看次数

Nodejs MySQL 日期时间格式

所以我有一个奇怪的问题。据我所知,node-mysql 应该将日期时间格式化为 javascript 日期对象。然而,事实并非如此。

这是列:mysql> select order_time from jobs;

+---------------------+
| order_time          |
+---------------------+
| 2016-05-20 16:18:35 |
| 2016-05-20 16:24:47 |
Run Code Online (Sandbox Code Playgroud)

返回值如下所示:

2016-05-20T14:18:35.000Z
Run Code Online (Sandbox Code Playgroud)

但它应该是这样的:

Fri May 20 2016 14:18:35 GMT+0200 (Central Europe Daylight Time)
Run Code Online (Sandbox Code Playgroud)

关于为什么它会被错误格式化的任何想法?

mysql node.js node-mysql

2
推荐指数
1
解决办法
7199
查看次数

带有node-mysql的nodejs/socket.io 安全混乱

所以我开始研究node-mysql,因为我的整个站点都是用PHP构建的,但是我想使用node/socket.io来顺利进行异步用户端更新.但是我在node-mysql中遇到了一个问题,我还没有得到答案.mysql服务器的登录信息如何不是公共信息?

根据文档https://github.com/felixge/node-mysql你连接到数据库就像这样

var mysql      = require('mysql');
var connection = mysql.createConnection({
  host     : 'localhost',
  user     : 'me',
  password : 'secret',
});

connection.connect();

connection.query('SELECT 1', function(err, rows, fields) {
  if (err) throw err;

  console.log('Query result: ', rows);
});

connection.end();
Run Code Online (Sandbox Code Playgroud)

那么是什么阻止用户将服务器文件放入导航栏并查看mysql服务器的登录信息?我对此非常困惑,有人可以向我解释一下吗?

mysql security node.js socket.io node-mysql

1
推荐指数
1
解决办法
1045
查看次数

将node.js-mysql结果返回给函数

我有两个node.js文件:server.js和database.js。我希望我的socket.io发出发生在server.js中,而数据库查询发生在database.js中。Server.js:

// init
io.sockets.on('connection', function(socket) {
    initdb = db.initdb();
    console.log(initdb)
});
Run Code Online (Sandbox Code Playgroud)

我的database.js基本上包含以下代码:

function query(queryString) {
    connection = mysql.createConnection({
        host: '12.23.45.67',
        user: 'user',
        password: 'password',
        database: 'database'
    });

    connection.connect();

    var res = connection.query(queryString, function(err, rows, fields) {
        if (err) throw err;
    });

    connection.end();
}


// export initdb for external usage by server.js
exports.initdb = function() {
    var initdb = query("SELECT * FROM columns;");
};
Run Code Online (Sandbox Code Playgroud)

我的问题是我希望将connection.query函数中的行对象返回给我的initdb函数。但是,我可以记录该对象的唯一位置是该函数内。如何传递查询结果,以便可以从server.js发出JSON对象?

javascript json node.js socket.io node-mysql

1
推荐指数
1
解决办法
5802
查看次数

无法将nodejs连接到mysql

Node.js 0.10.31在Windows mySQL 5.5.35上运行,而我的虚拟机ubuntu在192.168.2.150上运行.现在要将节点js连接到mysql,我使用了以下连接器:

https://github.com/felixge/node-mysql

代码:

var mysql = require('mysql');
var connection = mysql.createConnection({
host : '192.168.2.150',
user : 'root',
password : '*****',
port : 3306
});

connection.connect(function(err) {
if (err) {
console.error('error connecting: ' + err.stack);
return;
}

console.log('connected as id ' + connection.threadId);
});


connection.query('SELECT 1', function(err, rows) {
// connected! (unless `err` is set)
console.log(err, rows);
});
Run Code Online (Sandbox Code Playgroud)

在my.cnf文件中bind address是0.0.0.0.而且,在用户表中我已经授予了所有数据库的权限root@192.168.2.150.但是,我仍然无法从节点连接到mysql,它会出现以下错误.我甚至尝试过Node js 0.8.2版本,但它仍然不起作用.任何人都可以指出错误吗?

错误:

 error connecting: Error: ER_ACCESS_DENIED_ERROR: Access denied for user …
Run Code Online (Sandbox Code Playgroud)

mysql node.js node-mysql

1
推荐指数
1
解决办法
2万
查看次数

MySQL中的ER_NO_DEFAULT_FOR_FIELD(nodejs其余请求)

这个错误在mysql中是什么意思?
ER_NO_DEFAULT_FOR_FIELD –“字段没有默认值”我在这里找到它了吗? http://mysqlserverteam.com/improvements-to-strict-mode-in-mysql/ 并获得:

{
    "code": "ER_NO_DEFAULT_FOR_FIELD",
    "errno": 1364,
    "sqlState": "HY000",
    "index": 0
}
Run Code Online (Sandbox Code Playgroud)

通过expressjs在邮递员请求中回复,但这是我似乎从中得到的第一张桌子。该表具有外键,因此我为外键设置了默认值,但仍然可以得到它。是什么赋予了?index [0]表示名称,即我发送到服务器的第一个json值吗?

{
    "name":"Cornwall Park Townhouses",
    "line1":"17 Brewster Rd.",
    "city":"Cornwall",
    "state":32,
    "zip":"12518",
    "category":2,
    "account_mgr":1,
    "active":1
}
Run Code Online (Sandbox Code Playgroud)

这是我的json

mysql sql json node.js node-mysql

1
推荐指数
1
解决办法
5738
查看次数

节点JS mysql查询第二次执行时给出错误

我正在尝试使用express在节点中制作REST api。当我第一次在浏览器中打开URL时,它运行良好,并为我提供了正确的输出。但是,当我第二次点击api网址时,应用程序崩溃并显示以下错误:

events.js:141 throw er; //未处理的“错误”事件^

错误:调用退出后无法排队握手。

这是我正在使用的代码:

var express = require('express');
var mysql = require('mysql');

var app = express();
var connection = mysql.createConnection({
  host: 'localhost',
  user: 'USER_NAME',
  password: 'PASSWORD'
});

app.use(express.static(__dirname + '/public'));
var port = 3333;

app.get('/api/users/:user_id', function(req, res){
    var lead_id = req.params.user_id;

    connection.connect();

    connection.query('use DB_NAME;', function (err) {
        if(err) throw err;

        connection.query('select * from users where user_id = ' + user_id, function (err, rows) {
            if(err) throw err;

            res.json(rows);
            connection.end();
        });
    });
});

app.listen(port);
console.log("The app is …
Run Code Online (Sandbox Code Playgroud)

javascript mysql node.js express node-mysql

1
推荐指数
1
解决办法
779
查看次数

Node.js puppeteer mysql - 使用 mysql 在循环内插入数据库中获取的值

我正在使用 node.js 和 puppeteer 来获取一些数据。...现在我想将获取的数据插入到数据库中...使用 mysql。下面似乎工作......但让我感到困惑的是在 console.log('DB 插入成功。记录:'+i); 总是落后,一段时间后它会停止......尽管仍有可用的记录表。

那是我的应用程序:

  let tableCell01;
  let tableCell01Val;
  let tableCell02;
  let tableCell02Val;

  const tableRows = await page.$$('table.tableFile2 > tbody > tr');

  for (let i=1; i < tableRows.length; i++){

    tableRow = tableRows[i];
    tableCell01 = await tableRow.$('td:nth-child(1) a');
    tableCell01Val = await page.evaluate( tableCell01 => tableCell01.innerText, tableCell01 );
    tableCell02 = await tableRow.$('td:nth-child(2)');
    tableCell02Val = await page.evaluate( tableCell02 => tableCell02.innerText, tableCell02 );

    tableCell02ValA.replace(/(^\s+|\s+$)/g,'');

    console.log('\n');
    console.log('ID: '+tableCell01Val);
    console.log('Company: '+tableCell02Val);
    console.log('Iterator: '+i);

    const insertCompanyList = "INSERT INTO companyList ( company_name, …
Run Code Online (Sandbox Code Playgroud)

javascript mysql node.js node-mysql puppeteer

1
推荐指数
1
解决办法
2285
查看次数