日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
MySQLaccessdeniedforuser...

MySQL安裝完成后出現(xiàn)最多的問題是程序無法連接到數(shù)據(jù)庫「Access denied」,網(wǎng)上的帖子很多,大多是教你如何調(diào)整配置以實現(xiàn)連接,然而并沒有真正告訴你為什么會出現(xiàn)該問題,這里總結(jié)一下,希望可以幫助大家盡快解決問題。前提是你要連接的MySQL數(shù)據(jù)庫沒有ip地址、端口、防火墻設(shè)置等網(wǎng)路方面的問題。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:空間域名、網(wǎng)頁空間、營銷軟件、網(wǎng)站建設(shè)、順平網(wǎng)站維護、網(wǎng)站推廣。

部分開發(fā)者「本人也是其中之一,哈哈」使用root用戶直接連接MySQL,強烈不推薦,因為MySQL的root用戶是管理數(shù)據(jù)庫用的,應用程序通過root連接數(shù)據(jù)庫非常非常不安全,甚至破壞了MySQL的賬戶安全體系,尤其是生產(chǎn)環(huán)境,DBA絕對不會讓你這么干的。

只要Access denied是由于賬戶權(quán)限問題導致的,一般推薦的***實踐步驟如下,遵從這些步驟,你既可以了解到整個MySQL的賬戶權(quán)限體系,同時又不再可能遇到MySQL Access denied for user...這個問題。

MySQL添加數(shù)據(jù)庫并配置用戶和權(quán)限的***實踐樣例

一、以root用戶身份連接到MySQL服務器,如果已為root帳戶分配了密碼,則還必須提供-p選項。

 
 
 
 
  1. //以root用戶身份登錄到MySQL服務 
  2. shell> mysql -u root -p 
  3. //與上面命令功能一致,只是默認選中了mysql這個庫 
  4. shell> mysql -u root -p mysql 

二、創(chuàng)建一個測試數(shù)據(jù)庫mytest

 
 
 
 
  1. mysql> create database mytest character set 'utf8' collate 'utf8_general_ci'; 

知識拓展:顯示已有庫

 
 
 
 
  1. mysql> show databases; 

三、以root身份連接到服務器,添加新帳戶

 
 
 
 
  1. //創(chuàng)建一個主機名限制為localhost密碼是mypass的jeffrey用戶 
  2. mysql> create user 'jeffrey'@'localhost' identified by 'mypass'; 

帳戶的主機名部分(如果省略)默認為“%”。%表示所有主機都可以通過當前的賬戶訪問數(shù)據(jù)庫。

知識拓展:對賬戶進行查詢、修改、刪除等操作

 
 
 
 
  1. //查看已有賬戶 
  2. mysql> select user,host from mysql.user; 
  3.  
  4. //可根據(jù)需要修改賬戶密碼,注意區(qū)分版本 
  5. //從MySQL 5.7.6開始,使用alter user語法修改密碼 
  6. mysql> alter user 'jeffrey'@'localhost' identified by 'new_password'; 
  7. //在5.7.6之前,使用set password語法修改密碼 
  8. mysql> set password for 'jeffrey'@'localhost' = password('new_password'); 
  9.  
  10. //重命名賬戶 
  11. mysql> rename user 'jeffrey'@'localhost' to 'jeff'@'127.0.0.1'; 
  12.  
  13. //刪除賬戶 
  14. mysql> drop user 'jeffrey'@'localhost'; 

四、對賬戶賦權(quán)

 
 
 
 
  1. //針對mytest庫的所有操作權(quán)限分配給'jeffrey'@'localhost'賬戶 
  2. mysql>grant all on mytest.* to 'jeffrey'@'localhost'; 
  3.  
  4. //針對db2庫的invoice對象的select權(quán)限分配給'jeffrey'@'localhost'賬戶,并允許該賬戶可繼續(xù)下發(fā)權(quán)限 
  5. mysql> grant select on db2.invoice to 'jeffrey'@'localhost' with grant option; 
  6.  
  7. 知識拓展:移除、查看已經(jīng)設(shè)置的權(quán)限 
  8. //移除權(quán)限 
  9. mysql> revoke all privileges on *.* from 'jeffrey'@'localhost'; 
  10. mysql> revoke select on db2.invoice from 'jeffrey'@'localhost'; 
  11.  
  12. //顯示root權(quán)限 
  13. mysql> show grants for 'root'@'localhost'; 
  14.  
  15. //要顯示授予您用于連接到服務器的帳戶的權(quán)限,可以使用以下任何語句: 
  16. mysql> show grants; 
  17. mysql> show grants for current_user; 
  18. mysql> show grants for current_user(); 

五、刷新權(quán)限,立即生效

 
 
 
 
  1. mysql> flush privileges; 

六、連接測試

 
 
 
 
  1. //這里給出jdbc連接mysql的字符串,方便驗證 
  2. jdbc:mysql://ip:3306/mytest?useUnicode=true&characterEncoding=utf8 

總結(jié)

通過上面的操作步驟,相信您已經(jīng)對整個MySQL的賬戶權(quán)限管理體系有個很清楚的認識,如果出現(xiàn)MySQL Access denied for user...問題只需要按照上面的步驟排查一下即可***解決。

之所以,這么多的開發(fā)者遇到MySQL Access denied for user...問題,主要的原因有三:一是因為直接使用root連接,默認root只能本地連接,遠程連接自然失敗;二是因為賬戶與權(quán)限設(shè)置不正確;三是根本不了解MySQL賬戶權(quán)限管理的一般步驟「大部分屬于這種情況」。

【本文為專欄作者“朱國立”的原創(chuàng)稿件,轉(zhuǎn)載請通過作者微信公眾號“開發(fā)者圓桌”獲取聯(lián)系和授權(quán)】

戳這里,看該作者更多好文


網(wǎng)站欄目:MySQLaccessdeniedforuser...
標題來源:http://m.5511xx.com/article/cohcpsc.html