菜鸟Node.js MySQL教程遇到的坑

2018-06-12  本文已影响301人  姬歌

Mac环境

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> 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);
});
上一篇 下一篇

猜你喜欢

热点阅读