node.js:exopress-连接mysql报错:Access denied for user 'root'@'localhost' (using password: NO)问题解决。

问题描述:在使用express框架mysql模块时,连接数据库时报如下错误:


实际上本地默认的root用户和密码都是正确的。

解决思路:

方法一:新建数据库用户,并且分配对应的数据库的权限。

方法二:修改root用户的密码为空()

具体实现:

    方案一:

//创建用户
CREATE USER 'victor'@'localhost' IDENTIFIED BY '123456';--victor为用户名,localhost为数据库主机地址,123456为密码

//给用户分配全权限
grant all on *.* to 'victor'@'localhost' identified by password '123456';--all代表所有的数据库 *.*代表所有的权限

方案二:(下面是三种修改mysql密码的方法)

方法1: 用SET PASSWORD命令

  mysql -u root

  mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');

方法2:用mysqladmin

  mysqladmin -u root password "newpass"

  如果root已经设置过密码,采用如下方法

  mysqladmin -u root password oldpass "newpass"

方法3: 用UPDATE直接编辑user表

  mysql -u root

  mysql> use mysql;

  mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root';

  mysql> FLUSH PRIVILEGES;

//遗留问题

当我修改root密码为任意非空密码的时候,还是报原来错误的。待求解~~~~

    


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/VictorDe/article/details/79960666
文章标签: express-mysql连接
个人分类: express
上一篇windows下MongoDB的安装及配置
下一篇DNS域名解析详解
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭