标签: node-mysql

带有 MySQL 连接的 Nodejs 集群

正在寻找有关 Nodejs 集群和连接到 mysql 服务器的方法的建议。我们是为每个子进程打开一个连接还是只为所有进程打开一个连接?还是我们为所有子进程创建一个连接池?推荐的方法是什么?

单节点进程

var mysql      = require('mysql');
var connection = mysql.createConnection({
  host     : 'example.org',
  user     : 'bob',
  password : 'secret'
});

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

  console.log('connected as id ' + connection.threadId);
});
Run Code Online (Sandbox Code Playgroud)

节点集群选项 1:

var cluster = require('cluster');
var http = require('http');
var numCPUs = require('os').cpus().length;

if (cluster.isMaster) {
  // Fork workers.
  for (var i = 0; i < numCPUs; i++) {
    cluster.fork();
  }

  cluster.on('exit', function(worker, code, signal) { …
Run Code Online (Sandbox Code Playgroud)

mysql node.js node-mysql

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

节点mysql插入当前日期

mysql 节点文档给出了如何转义和做简洁事情的示例。我无法弄清楚如何使用这种方法插入当前时间。

var post  = {id: 1, createdDate: 'NOW()'};
var query = connection.query('INSERT INTO posts SET ?', post, function(err, result) {
});
// Error: ER_TRUNCATED_WRONG_VALUE: Incorrect datetime value: 'NOW()' for column 'createdDate' at row 1
Run Code Online (Sandbox Code Playgroud)

javascript mysql node.js node-mysql

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

什么时候用??和 ?作为node-mysql中的占位符来构建查询?

我正在查看 node-mysql 中的一些示例 https://github.com/felixge/node-mysql中的一些示例

我很困惑什么时候使用?和 ?作为构建查询时的占位符。

一个例子在这里;

var userId = 1;
var columns = ['username', 'email'];
var query = connection.query('SELECT ?? FROM ?? WHERE id = ?', [columns, 'users', userId], function(err, results) {
  // ...
});

console.log(query.sql); // SELECT `username`, `email` FROM `users` WHERE id = 1
Run Code Online (Sandbox Code Playgroud)

我如何知道何时使用??以及何时使用?

javascript mysql node.js node-mysql

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

节点 MySQL 以尽可能快的速度执行多个查询

哪个是最快的方法将查询获取到 MYSQL,然后返回到输出:

console.log('查询完成', 结果)"

有没有更好的方法?请解释你的答案!

谢谢!

方法一:

var connection = mysql.createConnection({multipleStatements: true});

connection.query('SELECT ?; SELECT ?', [1, 2], function(err, results) {
  if (err) throw err;

  console.log('queries done', results);
});
Run Code Online (Sandbox Code Playgroud)

方法二:

const Db = mysql.createPool({
    connectionLimit: 7,
    dateStrings: true,
    multipleStatements: true
});

Db.getConnection(function(err, connection) {
    if(err) console.log(err);

    connection.query(`
        SELECT "1" AS "first";
        SELECT "2" AS "second";`, function(err, results) {
            connection.release();

            if(err) console.log(err);
            console.log('queries done', results); 
        }                    

    );

});   
Run Code Online (Sandbox Code Playgroud)

方法三:

const Db = mysql.createPool({
    connectionLimit: 7,
    dateStrings: true,
    multipleStatements: true
});

Db.getConnection(function(err, …
Run Code Online (Sandbox Code Playgroud)

mysql node.js node-mysql async.js

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

缓冲区 - 类型错误:无法读取未定义的属性“来自”

我使用nodejs并做出反应。

我经常收到此错误,有时不出现此错误消息,有时也会出现。

错误

返回 SafeBuffer.Buffer.from(json, 'utf8').toString('base64'); 类型错误:无法读取未定义的属性“来自”

我不知道为什么会这样。但据我所知,但是当我重新启动或运行服务器时,它花费的时间太长。这会影响吗?因为我在 mysql 连接上经历了同样的事情。因此我得到一个旧的 connectTimeOut 像这样:

import mysql from 'mysql';

var con = mysql.createConnection({
    host:'localhost',
    user:'root',
    password:'',
    database:'hammerst_hammer',
    multipleStatements: true,
    connectTimeout:30000
});

con.connect((err) =>{
    if(err) throw err;
    else console.log('MySql connected')
});

export default con; 
Run Code Online (Sandbox Code Playgroud)

请帮助我,我不知道哪个错误以及该怎么办

buffer node.js node-mysql

5
推荐指数
0
解决办法
1062
查看次数

node-mysql connection.query()返回undefined

我正在使用在einaros/ws构建的节点ws服务器.该服务器必须向数据库发送查询.为此我正在使用felixge/node-mysql.

当用户连接到服务器时,应检查客户端是否仍存在于数据库中.

这是一段有趣的代码:

console.log("client-liste ist leer");
var query = "SELECT name FROM spieler WHERE name='"+id+"' AND passwort='"+passwort+"'";
var result = queryToDatabase(query);
console.log(getTime() + "DB-Result Abfrage: " + result);
Run Code Online (Sandbox Code Playgroud)

以及查询完成的代码:

var mysql = require('mysql');
var mysqlConnection = mysql.createConnection({
    host: dbHost,
    user: dbUser,
    password: dbPassword,
});

function queryToDatabase(anfrage) {
    mysqlConnection.connect();

mysqlConnection.query("USE " + db, function(err, rows, fields) {
    if (err) throw err;
});

mysqlConnection.query(anfrage, function(err, rows, fields) {
        if (err) throw err;
        console.log("rows as String - …
Run Code Online (Sandbox Code Playgroud)

javascript return undefined node.js node-mysql

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

运行node-mysql教程时出错

我在node-mysql的教程部分运行代码,它给了我错误

var MySQLPool = require("mysql-pool").MySQLPool;
var pool = new MySQLPool({
  poolSize: 4,
  user:     'root',
  password: 'root',
  database: 'test'
});

pool.query("SELECT 'Hello, World!' AS hello", function(err, rows, fields) {
  if(err) throw err;
  console.log(rows[0].hello);
});

for(var i = 0; i < 10; ++i) {
  pool.query("SELECT SLEEP(2), ? AS i", [i], function(err, rows, fields) {
    if(err) throw err;
    console.log("Slept: " + rows[0].i);
  });
}
Run Code Online (Sandbox Code Playgroud)

错误:

/home/comapq/Works/Nodejs/Codes/node_modules/mysql-pool/lib/mysql-pool/pool.js:158 for(Client.prototype中的var key){^ TypeError:无法读取未定义的属性'prototype'新的MySQLPool上的MySQLPool._populate(/home/comapq/Works/Nodejs/Codes/node_modules/mysql-pool/lib/mysql-pool/pool.js:158:23)(/ home/comapq/Works/Nodejs/Codes/node_modules/mysql-pool/lib/mysql-pool/pool.js:44:7)在Object.(/home/comapq/Works/Nodejs/Codes/test-mysql-3.js:2:12)在Module._compile(module.js:449:26)的Object.Module._extensions..js(module.js) :467:10)在Module.load(module.js:356:32)的Function.Module._load(module.js:312:12)处于Module.runMain(module.js:492:10)的process.startup .processNextTick.process._tickCallback(node.js:244:9)

node.js node-mysql

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

使用node.js和node-mysql执行MySQL查询

我来自一个主要是PHP/MySQL的背景,并且勉强进入node.js为我自己的测试和学习如何做事创建一个博客系统.我在这里遇到的问题是我似乎无法弄清楚如何进行正确的查询.我已经检查了node-mysql的文档但是还没有找到很多关于进行查询的信息.

如果我这样做,var posts = rows[0];我得到表的数组,它看起来不错,但我试图将特定字段传递给变量,但是当我执行下面的代码时,我得到了一堆"未指定"的.我知道这里有问题,我通常会mysql_fetch_array在PHP中做一个,但我不知道在node.js和node-mysql中执行此操作的方法.

connection.query('SELECT * FROM posts ORDER BY date', function(err, rows, fields) {
  if (err) throw (err);

  var post_date = rows[1];
  var post_author = rows[2];
  var post_content = rows[3];

  console.log('Date: ', post_date);
  console.log('Author: ', post_author);
  console.log('Content: ', post_content);
});
Run Code Online (Sandbox Code Playgroud)

javascript node.js node-mysql

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

节点mysql TypeError:conn.beginTransaction不是一个函数

我有一个mysql查询,我试图与使用事务的node-mysql一起执行。它应该在连接对象上,但是我收到的错误消息说它没有begin transaction方法。

TypeError: conn.beginTransaction is not a function

这是交易代码:

dbutil.transaction(req.db, 

    function(done){

        req.db.query('INSERT INTO answers (question, user, background, importance, comment) values (?, ?, ?, ?, ?)',
            [question, user, background, concurrence, importance, comment],  function (err, result){
                console.log('result from insert query: ', result);
                console.error('error: ', err);
                done();
            // req.db.query('INSERT INTO concurrenceAnswers (concurrence) values (?)',
            //     [concurrence], function (err, result){
            //         console.log('result form insert query: ', result);
            //         console.error('error: ', err);

            // })

        });


    }, function(){}

    );
Run Code Online (Sandbox Code Playgroud)

以及交易方式:

exports.transaction = function(conn, body, done) { …
Run Code Online (Sandbox Code Playgroud)

node.js node-mysql

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

如何将NodeJS变量输入到SQL查询中

我想编写一个包含NodeJS变量的SQL查询.当我这样做时,它给我一个'undefined'的错误.

我希望下面的SQL查询识别flightNo变量.如何将NodeJS变量输入到SQL查询中?它周围是否需要特殊字符$或者?.

app.get("/arrivals/:flightNo?", cors(), function(req,res){
var flightNo = req.params.flightNo;

connection.query("SELECT * FROM arrivals WHERE flight = 'flightNo'", function(err, rows, fields) {
Run Code Online (Sandbox Code Playgroud)

sql node.js node-mysql

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

标签 统计

node-mysql ×10

node.js ×10

javascript ×4

mysql ×4

async.js ×1

buffer ×1

return ×1

sql ×1

undefined ×1