node 写接口,连接数据库,实现js的全栈开发,作为web前端,是不是有一丝悸动。但是在连接mysql这里,可能会碰到兼容问题,这里把我开发中的问题以及如何解决,告诉大家
一、关于 npm mysqljs
插件:
平常大家见到的 mysql 使用最多的可能是 php,php中专门连接数据库,操作数据库的api。
现在语言换成web前端语言:javascript ,想通过 javascript 去连接数据库就需要我们今天
的主角 mysql npm包 一下简称 mysqljs
二、如何安装并使用mysql插件
首先在项目中安装 mysql
npm install mysql
其次就是在代码中测试了,当然前提你电脑上的安装 mysql数据库,要不然连接不上的
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'root', //你的mysql账号
password : '123456' // 你的mysql密码
});
connection.connect(function(err) {
if (err) {
console.error('error connecting: ' + err.stack);
return;
}
console.log('connected as id ' + connection.threadId);
});
三、关于兼容的问题,连接mysql会报错,如下
这报错的主要原因是你使用的数据库连接用户名和密码不符合新版限制
解决:直接使用 mysql2
MySQL2项目是MySQL-Native的延续。协议解析器代码被从头重写,api也被更改为与流行的
mysqljs/mysql相匹配。MySQL2团队正与mysqljs/mysql团队合作,将共享代码分离出来,并将
其转移到mysqljs组织下。
npm install --save mysql2
连接代码跟 mysql 一致,具体异同可以看 此文档
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'root', //你的mysql账号
password : '123456' // 你的mysql密码
});
connection.connect(function(err) {
if (err) {
console.error('error connecting: ' + err.stack);
return;
}
console.log('connected as id ' + connection.threadId);
});
至此,连接 mysql成功,可以愉快的敲代码了!!!