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密碼爲任意非空密碼的時候,還是報原來錯誤的。待求解~~~~

    


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