Heim  >  Artikel  >  Datenbank  >  So lösen Sie Docker MySQL kann vom Host nicht aufgerufen werden

So lösen Sie Docker MySQL kann vom Host nicht aufgerufen werden

WBOY
WBOYnach vorne
2023-05-26 13:55:061547Durchsuche

1 Problembeschreibung

Nachdem Docker den MySQL-Container gestartet hat, erstellen Sie einen Benutzer für den localhost-Zugriff: Docker启动MySQL容器后,创建一个localhost访问的用户:

create user test@localhost identified by 'test';

但是在宿主机中无法通过该用户登录:

mycli -u test

So lösen Sie Docker MySQL kann vom Host nicht aufgerufen werden

2 原因

Docker中的MySQL创建localhost的用户只能在Docker内部访问,而不能通过外部访问。

至于为什么能在宿主机访问root,是因为默认存在两个root,分别是:

  • root@localhost

  • root@%

So lösen Sie Docker MySQL kann vom Host nicht aufgerufen werden

test只有一个localhost

So lösen Sie Docker MySQL kann vom Host nicht aufgerufen werden

3 解决方案

创建test@%或者创建test@172.17.0.1

create user test@% identified by 'test';
create user test@172.17.0.1 identified by 'test';

Aber es kann nicht weitergegeben werden Der Host-Computer Dieser Benutzer ist angemeldet: 🎜rrreee🎜So lösen Sie Docker MySQL nicht vom Host aus zugänglich sein🎜🎜2 Grund 🎜🎜Benutzer, die localhost in MySQL in Docker erstellen, können nur innerhalb von Docker und kann von außen nicht aufgerufen werden. 🎜🎜Der Grund, warum auf dem Host-Computer auf root zugegriffen werden kann, liegt daran, dass es standardmäßig zwei root gibt: 🎜
    🎜root@localhost🎜
  • 🎜root@%🎜
🎜So lösen Sie Docker MySQL kann vom Host nicht aufgerufen werden🎜🎜Und test hat nur einenlocalhost:🎜🎜 Auf Docker MySQL kann vom Host nicht zugegriffen werden. So geht's

Das obige ist der detaillierte Inhalt vonSo lösen Sie Docker MySQL kann vom Host nicht aufgerufen werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen