为了账号安全,请及时绑定邮箱和手机立即绑定

nodejs连接数据库问题:Access denied for user 'root'@'localhost' (using password: YES)

nodejs连接数据库问题:Access denied for user 'root'@'localhost' (using password: YES)

Code_Fulture 2017-03-03 17:55:42
nodejs连接数据库出问题, Access denied for user 'root'@'localhost' (using password: YES)在网上看了一些解决方法,修改mysql密码,不过看操作不是很懂,有些指令看不太懂也似乎不能运行。我用的是mysql5.0。详细代码如下:var mysql = require('mysql');          var TEST_DATABASE = 'user';   var TEST_TABLE = 'user';   //创建连接   var client = mysql.createClient({          //createconnection()会报错,说这不是一个方法,用这个没有报错   host: 'localhost',   user: 'root',     password: 'root',   datebase: 'user'   });   client.query("use " + TEST_DATABASE); client.query('insert into user (name,password) values ("lupeng" , "123456")');    //一个插入操作,sql语句测试没问题。
查看完整描述

4 回答

已采纳
?
心有猛虎_细嗅蔷薇

TA贡献119条经验 获得超250个赞

提示的信息说明你正确进入Mysql了,如右图:

//img1.sycdn.imooc.com//58ba8fdf0001fb9208790502.jpg不需要修改密码.

笃定问题出在nodejs连接的方式上

检查nodejs的语法是否正确

查看完整回答
1 反对 回复 2017-03-04
  • Code_Fulture
    Code_Fulture
    var mysql = require('mysql'); var TEST_DATABASE = 'user'; var TEST_TABLE = 'user'; //创建连接 var client = mysql.createConnection({ host: 'localhost', user: 'root', password: 'root', port: '3306', datebase: 'user' }); client.connect(function (err) { //后加的回掉函数 if (err) { console.log('err connection:' + err.stack); return; } }); client.query("use " + TEST_DATABASE); client.query('insert into user (name,password) values ("lupeng" , "123456")', function (err) { if (err) throw err; }); 以前找的都是14年的连接方式,可能有些跟官方的的写法不太一样,反正这么写就连接上了。挺激动
  • 心有猛虎_细嗅蔷薇
    心有猛虎_细嗅蔷薇
    恭喜恭喜^_^
  • Code_Fulture
    Code_Fulture
    对了,我这个是在vs2017rc上的nodejs上运行的,然后我电脑上以前就安了一个nodejs环境,版本是6.9.5,用这个测试运行就会说createConnection不是一个函数(方法),感觉挺奇怪的。
点击展开后面2
?
田心枫

TA贡献1064条经验 获得超383个赞

mysql -uroot -proot试试可以登录数据库么

查看完整回答
1 反对 回复 2017-03-03
  • Code_Fulture
    Code_Fulture
    提示:Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.0.67-community-nt MySQL Community Edition (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. 这应该就是登录到mysql了吧,我设置的密码是root
?
_绝緣ve_1

TA贡献1条经验 获得超0个赞

我也遇到了 和你一样 你解决了吗 求答案谢谢
查看完整回答
反对 回复 2018-01-06
?
心有猛虎_细嗅蔷薇

TA贡献119条经验 获得超250个赞

出现这样的错误是因为 密码输入错误.(mysql.ini文件中可以设置修改)

Windows平台下的MySQL其实它默认的密码不是

  password: 'root',


而是

连接数据库时,不需要输入密码 

password: ""


查看完整回答
1 反对 回复 2017-03-04
  • Code_Fulture
    Code_Fulture
    可是我设置密码就是root呀,而且不填密码,它会提示Access denied for user 'root'@'localhost' (using password: NO)
  • 4 回答
  • 0 关注
  • 12055 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信