Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Docker erstellt MySQL-Verbindung schlägt fehl

Ich sehe zwei Probleme:

  1. Versuchen Sie,

    hinzuzufügen
    links: 
      - mysql:mysql
    

    zur app service in Ihrer Docker Compose-Datei. Dadurch wird sichergestellt, dass Sie mysql erreichen können Container von app . Es richtet eine Hostnamenzuordnung (DNS) in Ihrer app ein Container, also wenn Sie ping mysql von app , wird es in mysql aufgelöst IP-Adresse des Containers.

  2. In Ihrer .py Datei, wo definieren Sie, mit welchem ​​​​Host eine Verbindung hergestellt werden soll? Fügen Sie host="mysql" hinzu zum connect Forderung. Standardmäßig wird eine Verbindung zu 127.0.0.1 hergestellt , was Sie sehen.

    cnx = mysql.connector.connect(host="mysql", user="root", password = 'root', database=malicious)
    

Wenn Sie beides beheben, sollte Ihr Problem gelöst sein.