使用Nodejs的mysql模块连接MySql数据库出现以下错误

C:\Users\horn1\Desktop\node.js\39>node express.js
{ Error: Handshake inactivity timeout
    at Handshake.<anonymous> (C:\Users\horn1\Desktop\node.js\39\node_modules\mysql\lib\protocol\Protocol.js:164:17)
    at emitNone (events.js:105:13)
    at Handshake.emit (events.js:207:7)
    at Handshake._onTimeout (C:\Users\horn1\Desktop\node.js\39\node_modules\mysql\lib\protocol\sequences\Sequence.js:129:8)
    at ontimeout (timers.js:469:11)
    at tryOnTimeout (timers.js:304:5)
    at Timer.listOnTimeout (timers.js:264:5)
    --------------------
    at Protocol._enqueue (C:\Users\horn1\Desktop\node.js\39\node_modules\mysql\lib\protocol\Protocol.js:145:48)
    at Protocol.handshake (C:\Users\horn1\Desktop\node.js\39\node_modules\mysql\lib\protocol\Protocol.js:52:23)
    at PoolConnection.connect (C:\Users\horn1\Desktop\node.js\39\node_modules\mysql\lib\Connection.js:130:18)
    at Pool.getConnection (C:\Users\horn1\Desktop\node.js\39\node_modules\mysql\lib\Pool.js:48:16)
    at IncomingMessage.<anonymous> (C:\Users\horn1\Desktop\node.js\39\express.js:29:8)
    at emitOne (events.js:115:13)
    at IncomingMessage.emit (events.js:210:7)
    at IncomingMessage.Readable.read (_stream_readable.js:478:10)
    at flow (_stream_readable.js:849:34)
    at resume_ (_stream_readable.js:831:3)
  code: ‘PROTOCOL_SEQUENCE_TIMEOUT‘,
  fatal: true,
  timeout: 10000 }

代码如下:

‘use strict‘;

var express=require(‘express‘);
var fs=require(‘fs‘);
var querystring=require(‘querystring‘);
var http=require(‘http‘);
var app=express();

var mysql=require(‘mysql‘);
var pool=mysql.createPool({
    host:‘192.168.80.129‘,// 数据库在本地虚拟机上,能用mysql-front连通
    port:‘3306‘,
    database:‘test‘,
    user:‘root‘,
    password:‘12345678‘,
        timeout:1000000000,
        connectTimeout:1000000000,
});

app.get(‘/index.html‘,function(req,res){
    res.writeHead(200,{‘Content-type‘:‘text/html‘});
    var file=fs.createReadStream(‘index.html‘);
    file.pipe(res);
});

app.post(‘/index.html‘,function(req,res){
    req.on(‘data‘,function(data){
        var obj=querystring.parse(data.toString());
        pool.getConnection(function(err,connection){
            if(err){
                res.send(‘Can not connect to MySql DB‘);
                console.log(err);
            }else{
                var str;
                connection.query(‘insert into emp set ?‘,{name:obj.name},function(err,result){
                    if(err){
                        str=‘Insert failed‘;
                    }else{
                        str="Insert succeed";
                    }

                    connection.release();
                    res.send(str);
                })
            }
        });
    });
});

app.listen(3333,"127.0.0.1");

原文地址:https://www.cnblogs.com/xiandedanteng/p/8645206.html

时间: 2024-07-29 12:08:24

使用Nodejs的mysql模块连接MySql数据库出现以下错误的相关文章

Mysql命令mysql:连接Mysql数据库

mysql命令用户连接数据库. mysql命令格式: mysql -h主机地址 -u用户名 -p用户密码 1) 连接到本机上的MYSQL首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码. 注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码. 如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是: mysql> 2) 连接到远程主机上的MYSQ

Navicat for mysql 远程连接 mySql数据库10061、1045错误问题 (转)

远程使用Navicat for mysql 客户端软件连接 mySql数据时,连接出现 2003-Can’t connect to MySQL on ’192.168.1.2’(10061)错误时,是由于MySQL不准许远程连接. 修改方法如下: 1:在服务端MySQL文件夹下找到my.ini文件.修改bind-address=127.0.0.1 为 bind-address=0.0.0.0 (在MySQL 5的my.ini中未发现此项) 2:重新启动MySQL服务. 测试连接情况: 如果没有给

Navicat for mysql 远程连接 mySql数据库10061、1045错误

用navicat连接远程的mysql数据报错: 有朋友可能会碰到使用Navicat for mysql 远程连接 mySql数据库会提示10061.1045错误或 2003-Can't connect to MySQL on '192.168.1.2'(10061),这个原因是因为MySQL不准许远程连接. 最简单的办法是 MySQL远程配置 代码如下 复制代码 GRANT ALL PRIVILEGES ON *.* TO [email protected]'%' IDENTIFIED BY '

解决SQL Server管理器无法连接远程数据库Error: 1326错误

解决SQL Server管理器无法连接远程数据库Error: 1326错误 我们在在使用SQL Server时都会遇到使用SQL Server Management Studio无法连接远程数据库实例的问题,错误描述信息摘录如下: An error has occurred while establishing a connection to the server. (provider: Named Pipes Provider, error: 40 – Could not open a con

在用VS2010连接oracle数据库时ORA-12504错误

在用VS2010连接oracle数据库时,可能会出现: ORA-12504: TNS: 监听程序在 CONNECT_DATA 中未获得 SERVICE_NAME 只需在web.config文件Data Source设置成Data Source=要连接的IP/orcl 在用VS2010连接oracle数据库时ORA-12504错误

MySQL显示连接的数据库名

在默认下,MySQL在use databasename的时候,是不显示连接的库名! mysql> show databases;+--------------------+| Database           |+--------------------+| information_schema || hank               || mysql              || performance_schema || sakila             || test    

python3.4怎么连接mysql pymysql连接mysql数据库

本文介绍了python3 4连接mysql数据库的方法,在python3 4中使用原来python2 7的mysqldb已不能连接mysql数据库了,可以使用pymysql. 在python3.4中使用原来python2.7的mysqldb已不能连接mysql数据库了,可以使用pymysql,来完成连接mysql的重任. 具体步骤: 序号 描述1 去github上下载pymysql的安装包pymysql https://github.com/PyMySQL/PyMySQL2 解压到某个盘符下3 

(笔记)Mysql命令mysql:连接Mysql数据库

mysql命令用户连接数据库. mysql命令格式: mysql -h主机地址 -u用户名 -p用户密码 1) 连接到本机上的MYSQL首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码. 注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码. 如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是: mysql> 2) 连接到远程主机上的MYSQ

mysql 0-1 linux操作系统安装卸载mysql,开机自动启动mysql,远程连接mysql

#yum 源中是否有mysql安装包 yum list mysql* #是否安装过 yum list installed mysql* rpm -qa |grep mysql #1.安装mysql 客户端 yum install mysql #2.安装mysql 服务端 yum install mysql-server yum install mysql-devel  #3.启动.停止mysql服务及开机自启 service mysqld start service mysqld stop se