mysql本地無法登陸,遠程卻可以登陸,解決方法

1、發現原因

  用遠程連接上去後發現表中的root對應的host確實是%,而且還有一個127.0.0.1,那麼不應該連接不上呀。

                  

  • 但是下面還有一個localhost是空白的,難道localhost和127.0.0.1不一樣?百度搜索了一翻,還真不一樣。
  • 在linux中,如果直接使用命令行登陸mysql,不算TCP/IP協議,所以用不上127.0.0.1,採用的是 unix domain socket連接。  

2、解決方法:

  • 方法一,刪除localhost用戶。
  • drop user ''@localhost;
    flush privileges;
    

     

  • 方法二,在my.cnf的[mysql]區段裏添加
  • protocol=tcp
    

      

  • 方法三,給localhost用戶分配權限及添加密碼。推薦~!
  • grant all privileges on *.* to root@'localhost' identified by 'cisco';
    flush privileges;

      

另,開啓遠程的方法

update user set host='%' where user='root';
flush privileges;

  

轉自:https://www.codenong.com/cs106762915/

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