Mac环境
$ cnpm install mysql失败,(在当前node工程目录下)直接用$ npm install mysql,就安装成功了。完成后在node_modules里可以看到有了mysql模块。
按照教程运行:$ node test.js 直接报错:
Error: connect ECONNREFUSED 127.0.0.1:3306
这是因为系统根本没有数据库环境在运行!(虽然我按教程下载了websites.sql放到当前工程目录,但在test.js里始终找不到创建数据库的代码啊!我还傻傻的以为Node.js就是这么牛逼...)
刚开始我还以为$ npm install mysql安装的是mysql,实际上,npm官网说明,npm仅仅是一个管理javascript包的工具!所以这条npm命令安装的是一个桥接Node.js和mysql的插件,而不是mysql环境。然后度娘如何安装mysql,都是说用rpm安装,但输入rpm命令,却提示rpm command not found.然后查怎么在Mac安装rpm,却找不到答案。
于是转而用homebrew(官网https://brew.sh/,一句代码安装好homebrew然后再输入 $ brew install mysql就OK),轻松装好mysql!
安装好之后,还需要【启动mysql服务】:
$ mysql.server start
(关闭服务命令为$ mysql.server stop)
之后【进入mysql命令模式】(路径/usr/local/bin/mysql在不同机器可能不同):
$ /usr/local/bin/mysql -u root -p
mysql操作可参考https://blog.csdn.net/ivolcano/article/details/53728161。
注意,在sql命令模式下,命令都需要以分号';'结尾。
现在,可以运行$ node test.js,连接数据库了。但是数据库目前是空的,还没导入'websites.sql'。在mysql命令模式,输入source,再把'websites.sql'拖入终端窗口生成路径,键入';',按下回车,就可以导入table成功了!
效果 mysql> source /Users/huishan/Documents/Jack/Node/websites.sql;
(先输入 mysql> exit;退出mysql命令模式,或者直接按'ctr+z')再次运行 $node test.js,大功告成!可以输入websites.sql列表了!
切换、使用指定数据库:mysql> use zarkdb;
附注:test.js
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
//password : '123456',
database : 'zarkdb'
});
connection.connect();
connection.query('SELECT 1 + 1 AS solution', function (error, results, fields) {
if (error) throw error;
console.log('The solution is: ', results[0].solution);
});