2種方式實現Mysql允許非本機以ROOT用戶登錄

在首次安裝Mysql後,一般需要在遠程的機器上進行相關操作,而使用內置的ROOT用戶登錄時,往往因爲沒有權限而導致無法登錄。當然也出於安全考慮,不允許非本機直接訪問ROOT用戶,但對於數據庫管理員來說,極爲不便。以下通過授權的方式實現ROOT用戶的遠程訪問。

1.直接授權

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' ;

  1. ON後面的第一個*代表數據庫名,"*"指所有數據庫;
  2. ON後面的第二個*代表數據庫表名,"*"指所有數據庫下所有表;
  3. “ROOT”代表用戶名,不能爲空;
  4. “%”代表任何主機,如果不指定,則默認爲“%”。

這樣授權其實是不嚴謹的,後面詳細分析

2.刷新權限

FLUSH PRIVILEGES;

3.查詢驗證

SELECT  USER,AUTHENTICATION_STRING,HOST FROM USER;

4.繼續分析

查詢並對比user表,發現會新增一個用戶,且新增的用戶沒有Grant_oriv權限,什麼回事,又怎麼處理呢?

個人建議的做法爲:

1.直接修改原有ROOT用戶的HOST屬性即可;

2.或者在語句後面添加WITH GRANT OPTION;

 

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