Docker MySQL無法被宿主機訪問的問題解決

1 問題描述

Docker啟動MySQL容器後,創建一個localhost訪問的用戶:

create user test@localhost identified by 'test';

但是在宿主機中無法通過該用戶登錄:

mycli -u test

2 原因

Docker中的MySQL創建localhost的用戶隻能在Docker內部訪問,而不能通過外部訪問。

至於為什麼能在宿主機訪問root,是因為默認存在兩個root,分別是:

  • root@localhost
  • root@%

test隻有一個localhost

3 解決方案

創建test@%或者創建[email protected]即可:

create user test@% identified by 'test';
create user [email protected] identified by 'test';

到此這篇關於Docker MySQL無法被宿主機訪問的問題解決的文章就介紹到這瞭,更多相關Docker MySQL無法被宿主機訪問內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: