2017-12-31 138 views
0

I Docker-compose bin mit MYSQL Behälter laufen und Verknüpfung mit www-ServerDocker-compose Transfer mysql auf einen anderen Host

mysql: 
    image: mysql 
    container_name: lip-mysql 
    ports: 
    - "3030:3306" 
    environment: 
    - MYSQL_ROOT_PASSWORD=root 
    - MYSQL_DATABASE=user-db 
    - MYSQL_USER=user 
    - MYSQL_PASSWORD=user 
    volumes: 
    - ./etc/mysql:/var/lib/mysql 

Als ich es auf meinem eigenen Computer renne und wollen tranfer es zur Produktion. Ich mache das

  1. kopieren Volumen etc/mysql-Verzeichnis-Server
  2. dann bauen diese Docker-compose bauen
  3. dann starten Docer-komponieren up -d
  4. Beim Versuch, auf Daten zuzugreifen. Ich bekomme Fehler "Basistabelle oder Ansicht nicht gefunden: 1146 Tabelle 'user-db.Packages' existiert nicht". Ich habe herausgefunden, dass die Datenbankstruktur da ist, aber nicht auf Daten zugreifen kann.

Wie sollte ich meine MySQL-Daten in eine neue Umgebung verschieben?

Antwort

0

Sie können stattdessen Ihre MySQL DB von Ihrem Computer ausgeben und in der anderen Umgebung wiederherstellen.

Dump DB:

docker exec -it lip-mysql mysqldump --opt -u [uname] -p[pass] [dbname] > [backupfile.sql] 

wiederherstellen DB: MySQL-Engine-Updates

docker exec -it lip-mysql mysql -u [uname] -p[pass] [db_to_restore] < [backupfile.sql] 

können Sie auch das Docker Bild in Ihrem Docker-compose Datei MySQL Stift nicht bestimmungsgemäßer zu vermeiden.

+0

Ich kann Dumps machen und beim Start diese hinzufügen. Aber wie ich es gerne auf Festplatte speichern würde – user257980

Verwandte Themen