nodejs连接mysql
node连接mysql比较简单,有两种方式,一种是直接连接,一种是通过连接池连接。
1.使用nodejs直接连接mysql,代码比较少,但是意思很明显
其中host是数据库地址,user是用户名,password是密码,port是端口号,database是数据库名,multipleStatements是允许执行多条语句。
注:global.mysql是连接数据库之后,在当前node开启服务项目中的全局变量,方便在node开启服务端执行sql语句。【用户名和密码要确保正确】
用上面的代码,node连接mysql已经完成,要想测试是否连接成功,可以写一条sql语句,使用global.mysql.query执行,测试属否返回数据。
sql语句执行命令如下所示:
之后直接使用nodejs操作数据库中的表即可。
虽然连接命令很简单,但是也会出现问题。我做项目的时候,白天还好,项目自己一直在使用,感觉没有什么问题,但是晚上下班回家,第二天回来,就会报 PROTOCOL_ENQUEUE_AFTER_FATAL_ERROR,或者是数据请求过慢,出现Timeout的问题,看了晚上的很多解答方式,他们说是当出出现上述两种 错误的时候,就用命令操作,让数据库重新连接一次,虽然这种方法我没有亲自测试,但是应该可行【据说是因为直接连接数据库的方式,如果8小时没有任何操作,数据库就会自动将连接断开,然而我这种连接方式,未处理这种异常】。我在看node-mysql文档的时候,看见文档上面说连接池连接mysql比较稳定。
(2)连接池连接mysql
这种连接方式和直接连接方式代码相差不大,只有createPool和createConnection不一样,但是性能却有很大的差别,使用连接池连接,可以长时间连接,不会出现超过某一个时间不操作数据库,就会自动断开连接的情况,也不会说是数据请求超时,出现timeout的错误等等。连接池连接方式如下:
使用方式和直接连接方式一样,不再多说。连接池连接数据库,放到服务上,也不会出现之前碰到的问题,运行很稳定。