程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql新建用戶本地無法登錄

mysql新建用戶本地無法登錄

編輯:MySQL綜合教程

mysql新建用戶本地無法登錄   出此是用mysql,因為root權限過高,所以新建一用戶appadmin,權限僅為要用到的數據庫。創建語句如下:grant select,insert,update,delete on test.* to appadmin@"%" identified by "password";其中@“%”是可以在任何地址登錄。  創建後到mysql.user下查看,有該用戶。但是使用mysql -u appadmin -ppassword 登錄,提示無法登錄:ERROR 1045 (28000): Access denied for user 'appadmin'@'localhost' (using password: YES)    百思不得其解,遂google,其中有人說到“mysql.user 表中有另外一些記錄產生了作用,最有可能的就是已經有一條''@localhost記錄,就是用戶名是空,主機字段是localhost的記錄。” 影響了。查看該表果然有。 

mysql> select host,user,password from mysql.user; 
+-----------+------------------+-------------------------------------------+ 
| host      | user             | password                                  | 
+-----------+------------------+-------------------------------------------+ 
| localhost | root             | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | 
| mza       | root             | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | 
| 127.0.0.1 | root             | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | 
| localhost |                  |                                           | 
| mza       |                  |                                           | 
| localhost | debian-sys-maint | *19DF6BF8310D46D681AE072AB73ECEC99C018C19 | 
| %         | appadmin         | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | 
+-----------+------------------+-------------------------------------------+ 
7 rows in set (0.00 sec) 

 

但是刪除那些為空(匿名)的用戶後仍然無法登錄。(可能是因為沒有重啟mysql)於是只好耐著性子看mysql參考手冊。發現其中增加用戶部分有這麼一段話:  其中兩個賬戶有相同的用戶名monty和密碼some_pass。兩個賬戶均為超級用戶賬戶,具有完全的權限可以做任何事情。一個賬戶 ('monty'@'localhost')只用於從本機連接時。另一個賬戶('monty'@'%')可用於從其它主機連接。請注意monty的兩個賬戶必須能從任何主機以monty連接。沒有localhost賬戶,當monty從本機連接時,mysql_install_db創建的localhost的匿名用戶賬戶將占先。結果是,monty將被視為匿名用戶。原因是匿名用戶賬戶的Host列值比'monty'@'%'賬戶更具體,這樣在user表排序順序中排在前面。  這段話說的很清楚,因此執行 grant select,insert,update,delete on test.* to appadmin@"localhost" identified by "password";  退出後用appadmin登錄,成功。
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved