位置: 编程技术 - 正文
推荐整理分享通过node-mysql搭建Windows+Node.js+MySQL环境的教程,希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!
前言
MySQL是一款常用的开源数据库产品,通常也是免费数据库的首选。查了一下NPM列表,发现Nodejs有库可以访问MySQL,felixge/node-mysql似乎是最受关注项目,我也决定尝试用一下。
要注意名字,”felixge/node-mysql”非”node-mysql”,安装部分会介绍这个小插曲!
目录
node-mysql介绍 建立MySQL测试库 node-mysql安装 node-mysql使用1. node-mysql介绍
felixge/node-mysql是一个纯nodejs的用javascript实现的一个MySQL客户端程序。felixge/node-mysql封装了Nodejs对MySQL的基本操作,% MIT公共许可证。
项目地址: 建立MySQL测试库
本地创建MySQL测试库:nodejs
重新登陆MySQL
新建一个user表
3. node-mysql安装
我的系统环境
win7 bitNodejs:v0..5Npm:1.2.MySQL:Server version: 5.6. MySQL Community Server (GPL)创建工程:nodejs-node-mysql
这里有一个小插曲
安装“node-mysql”后,打开package.json文件发现,这个项目地址是
所以,我也不准备花时间测试了,重新安装felixge/node-mysql的包。
重新安装node-mysql
这回就对了,继续下面的开发!
创建node程序启动文件:app.js
第一个测试
运行node
这样我们就让Nodejs连接上了MySQL。
4. node-mysql使用
下面我们要对node-mysql的API进行常用的测试。
表新删改查连接池配置MySQL断线重连连接池超时测试1). 表新删改查修改app.js
控制台输出:
由于node的异步的,上面是一个连续的操作,代码会被写的支离破碎。我们可以通过async库对上面代码进行封装,请参考文章:Nodejs异步流程控制Async
2). 连接池配置
增加文件:app-pooling.js
控制台输出:
3). MySQL断线重连
分别模拟3种错误
a.登陆密码错误b.数据库宕机c.数据库连接超时新增文件:app-reconnect.js
a. 模拟密码错误
修改password: ‘nodejs'
控制台输出。
b. 模拟数据库宕机正常启动node,然后杀掉mysqld的进程。
控制台输出。
这个异常,直接导致node程序被杀死!
c. 模拟连接超时,PROTOCOL_CONNECTION_LOST切换到root账户, 修改MySQL的wait_timeout参数,设置为毫秒超时。
修改文件:app-reconnection.js,在最后增加代码
程序会每融秒,做一次查询。
控制台输出
我们自己的程序捕获了“PROTOCOL_CONNECTION_LOST”异常,并自动的实现了数据库重连。
4). MySQL连接池的超时测试
针对wait_timeout问题,我们再对连接做一下测试。
修改app-pooling.js文件
控制台输出:
连接池,已经解决了自动重连的问题了,后面我们的开发,可以尽量使用pooling的方式。
Node.js中JavaScript操作MySQL的常用方法整理 一、建立数据库连接:createConnection(Object)方法该方法接受一个对象作为参数,该对象有四个常用的属性host,user,password,database。与php中链接数据库的
使用NodeJs 开发微信公众号(三)微信事件交互实例 微信公众号有个规则,一旦开启了开发者模式,其他的常规功能就都必须通过接口调用完成。比如说自定义菜单功能,必须通过发送post请求的方式生成
初步使用Node连接Mysql数据库 使用Node做Web页面开发,基本上是连接非关系型数据库mongodb,而这里我还是先尝试连接了一下mysql数据库,因为相对于mysql来说mongodb过于生疏,想着快速
标签: 通过node-mysql搭建Windows+Node.js+MySQL环境的教程
本文链接地址:https://www.jiuchutong.com/biancheng/370684.html 转载请保留说明!友情链接: 武汉网站建设