Maison  >  Article  >  base de données  >  Comment résoudre Docker MySQL inaccessible à l'hôte

Comment résoudre Docker MySQL inaccessible à l'hôte

WBOY
WBOYavant
2023-05-26 13:55:061587parcourir

1 Description du problème

Après que Docker démarre le conteneur MySQL, créez un utilisateur pour l'accès localhost : Docker启动MySQL容器后,创建一个localhost访问的用户:

create user test@localhost identified by 'test';

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

mycli -u test

Comment résoudre Docker MySQL inaccessible à lhôte

2 原因

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

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

  • root@localhost

  • root@%

Comment résoudre Docker MySQL inaccessible à lhôte

test只有一个localhost

Comment résoudre Docker MySQL inaccessible à lhôte

3 解决方案

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

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

Mais il ne peut pas être transmis la machine hôte Cet utilisateur est connecté : 🎜rrreee🎜Comment résoudre Docker MySQL ne peut pas être accessible par l'hôte🎜🎜2 Raison 🎜🎜Les utilisateurs qui créent localhost dans MySQL dans Docker ne peuvent y accéder que dans Docker , et n'est pas accessible en externe. 🎜🎜Quant à la raison pour laquelle root est accessible sur la machine hôte, c'est parce qu'il y a deux root par défaut, qui sont : 🎜
    🎜root@localhost🎜
  • 🎜root@%🎜
🎜Comment résoudre le problème selon lequel Docker MySQL n'est pas accessible par l'hôte🎜🎜Et test n'a qu'un seullocalhost:🎜🎜Docker MySQL n'est pas accessible par l'hôte. Comment résoudre🎜🎜3 Solution🎜🎜Créez test@% ou créez test@172.17.0.1 : 🎜rrreee

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer