美文网首页
菜鸟Node.js MySQL教程遇到的坑

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

作者: 姬歌 | 来源:发表于2018-06-12 17:24 被阅读301次

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);
});

相关文章

网友评论

      本文标题:菜鸟Node.js MySQL教程遇到的坑

      本文链接:https://www.haomeiwen.com/subject/xlhreftx.html