Maison  >  Article  >  Opération et maintenance  >  Que dois-je faire si MySQL installé avec Docker n'est pas accessible à distance ?

Que dois-je faire si MySQL installé avec Docker n'est pas accessible à distance ?

WBOY
WBOYoriginal
2022-07-22 15:35:189517parcourir

Solution : 1. Connectez-vous au conteneur mysql, puis entrez mysql, la syntaxe est "docker exec -it mysql /bin/bash..." ; 2. Utilisez "alter user 'root'@'%' identifié ; avec mysql_native_password par '...';" Changez le mot de passe de connexion ; 3. Utilisez navicat pour vous connecter à distance à mysql.

Que dois-je faire si MySQL installé avec Docker n'est pas accessible à distance ?

L'environnement d'exploitation de ce tutoriel : système linux7.3, docker version 19.03, ordinateur Dell G3.

Que faire si Docker installe MySQL et ne peut pas y accéder à distance

#docker installe MySQL

docker pull mysql
docker run --name mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123 -d mysql

À ce moment, lorsque Navicat se connecte à distance à MySQL, l'erreur suivante s'affichera :

Solution :

1, connectez-vous au conteneur mysql dans la machine virtuelle, puis entrez mysql

docker exec -it mysql /bin/bash
mysql -uroot -p
Enter password: 
mysql> select host,user,plugin,authentication_string from mysql.user;


Remarque : l'hôte est %, ce qui signifie qu'il n'y a aucune restriction sur localhost signifie que cette machine utilise. un plugin autre que mysql_native_password, vous devez donc changer le mot de passe

2. Changez le mot de passe

mysql> use mysql;
mysql> alter user 'root'@'%' identified with mysql_native_password by '123';
mysql> flush privileges;
mysql> select host,user,plugin,authentication_string from mysql.user;

3 Lorsque l'image ci-dessus apparaît, utilisez navicat pour vous connecter à distance à mysql et le succès est obtenu. .

Apprentissage recommandé : "Tutoriel vidéo Docker"

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn