'root'@'localhost'不能登錄問題



鑒於我在遇到這個問題時,在網上搜索到幾十個答案都是進行更改密碼解決該問題,然並沒有卵用。最后還是讓小編找到了解決方法,希望大家遇到該問題時能夠節省時間。解決方法如下:

 
#mysql -u root -p
提示”Access denied for user ‘root’@’localhost’ (using password: YES)”
 
這個原因看起來好像是root 密碼被修改了,但是實際上不是這樣的
    通過給my.ini文件中添加 skip-grant-tables 一行之后,再使用mysql直接回車之后輸入如下命令:
update mysql.user set authentication_string="mypassword" where user="root";
flush privileges;
quit;
 在my.ini文件中刪除skip-grant-tables之后重新登錄還是這個錯誤。因此問題來了,究竟是什么原因導致不能登錄?從錯誤可以猜出,應該是localhost沒有與127.0.0.1對應的原因,輸入命令查詢:
    
select user,host from mysql.user;
 
顯然是不對的。然后使用下面語句登錄具體的ip地址:
mysql -u root -p xxxx -h 127.0.0.1
 
 
采用賦權語句,將root登錄到具體的IP地址:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
將其中的%改為127.0.0.1,就可以在本機登錄mysql了
要是不改變的話,在任意電腦都可以登錄這個mysql數據庫。遠程電腦登錄的命令為:
    
mysql -h 數據庫所在主機ip  -u root -p
 
然后就可以登錄了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM