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密码为任意非空密码的时候,还是报原来错误的。待求解~~~~

    


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章