当前位置:网站首页 > Node.js开发 > 正文

安装node报错(安装node报错error code is 2503)



前言

MySQL是一款常用的开源数据库产品,通常也是免费数据库的首选。查了一下NPM列表,发现Nodejs有13库可以访问MySQL,felixge/node-mysql似乎是最受关注项目,我也决定尝试用一下。

要注意名字,”felixge/node-mysql”非”node-mysql”,安装部分会介绍这个小插曲!

目录

  1. node-mysql介绍
  2. 建立MySQL测试库
  3. node-mysql安装
  4. node-mysql使用

felixge/node-mysql是一个纯nodejs的用javascript实现的一个MySQL客户端程序。felixge/node-mysql封装了Nodejs对MySQL的基本操作,100% MIT公共许可证。

项目地址:https://github.com/felixge/node-mysql

本地创建MySQL测试库:nodejs

重新登陆MySQL

新建一个user表

我的系统环境

  • win7 64bit
  • Nodejs:v0.10.5
  • Npm:1.2.19
  • MySQL:Server version: 5.6.11 MySQL Community Server (GPL)

创建工程:nodejs-node-mysql

这里有一个小插曲

安装“node-mysql”后,打开package.json文件发现,这个项目地址是

从依赖关系可以看到,它依赖于mysql库,是对felixge/node-mysql的封装。

nodejs mysql 中文api_nodejs mysql 中文api

由于这个项目star是0,fork也是0. 所以,我也不准备花时间测试了,重新安装felixge/node-mysql的包。

重新安装node-mysql

这回就对了,继续下面的开发!

创建node程序启动文件:app.js

第一个测试

运行node

这样我们就让Nodejs连接上了MySQL。

下面我们要对node-mysql的API进行常用的测试。

  • 表新删改查
  • 连接池配置
  • MySQL断线重连
  • 连接池超时测试

1). 表新删改查
修改app.js

控制台输出:

由于node的异步的,上面是一个连续的操作,代码会被写的支离破碎。我们可以通过async库对上面代码进行封装,请参考文章:Nodejs异步流程控制Async

2). 连接池配置

增加文件:app-pooling.js

控制台输出:

3). MySQL断线重连

分别模拟3种错误

  • 登陆密码错误
  • 数据库宕机
  • 数据库连接超时

新增文件:app-reconnect.js

a. 模拟密码错误

修改password: ‘nodejs11’

控制台输出。

b. 模拟数据库宕机
正常启动node,然后杀掉mysqld的进程。

控制台输出。

这个异常,直接导致node程序被杀死!

c. 模拟连接超时,PROTOCOL_CONNECTION_LOST
切换到root账户, 修改MySQL的wait_timeout参数,设置为10毫秒超时。

修改文件:app-reconnection.js,在最后增加代码

程序会每融15秒,做一次查询。

控制台输出

我们自己的程序捕获了“PROTOCOL_CONNECTION_LOST”异常,并自动的实现了数据库重连。

4). MySQL连接池的超时测试

针对wait_timeout问题,我们再对连接做一下测试。

修改app-pooling.js文件

控制台输出:

连接池,已经解决了自动重连的问题了,后面我们的开发,可以尽量使用pooling的方式。

到此这篇安装node报错(安装node报错error code is 2503)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 安装node.js命令(安装node.js教程)2025-06-02 18:00:07
  • 安装nodesass环境中报错(安装node sass)2025-06-02 18:00:07
  • 升级node版本windows(升级node版本指令)2025-06-02 18:00:07
  • node 环境变量配置(node环境变量配置 干嘛的)2025-06-02 18:00:07
  • 升级 node(升级node版本命令)2025-06-02 18:00:07
  • node安装npm -v错误(npm安装不上nodemon)2025-06-02 18:00:07
  • nvm安装node配置源(npm安装nodemodules)2025-06-02 18:00:07
  • 安装node和npm过程(npm安装node.js)2025-06-02 18:00:07
  • 安装nodemodules命令(安装node-gyp)2025-06-02 18:00:07
  • node版本管理(node版本管理器)2025-06-02 18:00:07
  • 全屏图片