mysql創建用戶後無法進入

說明

在mysql中添加用戶:

#mysql -u root -p 
>use mysql;
>update user set password="" where user="root";    //將root用戶設置爲無需登錄密碼登錄的用戶

注:mysql用戶的註冊表爲user表(mysql database下),主要的三個字段Host,user,password,其中password字段中存放的是加密的字段PASSWORD(”),當Host爲%號時,可允許所有類型的當前用戶登錄。

錯誤

添加一個用戶並修改了root密碼後出現mysql數據庫無法登錄:
這裏寫圖片描述
修改代碼如下:

>use mysql;
>insert into user (Host,user,password) values ('127.0.0.1','gerrit','test');
>update user set password='123' where user='root';

經查找發現,mysql登錄用戶信息保存的密碼是以PASSWORD類型保存,如上使用的是一般的varchar存入導致我們登錄後的密碼無法匹配而登錄失敗。所以我需要修改用戶密碼
- 修改編輯mysql的配置文件/etc/mysql/my.cnf
在[mysqld]組最後添加skip-grant-tables跳過mysql登錄的驗證環節
- 重啓mysql服務

 #service mysql restart
  • 修改mysql用戶密碼
#mysql
>use mysql
>update user set password=PASSWORD('123') where user='root';
>update user set password=PASSWORD('123') where user='gerrit';

這裏寫圖片描述

  • 退出mysql並重啓mysql服務登錄測試
#mysql -u gerrit -p

然後輸入密碼登錄成功.

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