2 Stimmen

Iterieren Sie über mehrere MySQL-Tabellen, exportieren Sie 1 Tabelle aus jeder

Ich habe etwa 150 MySQL-Datenbanken und muss aus jeder dieser Datenbanken eine Tabelle exportieren.

Ist dies möglich, sind Benutzername und Passwort für jede DB identisch.

4voto

Mark Biek Punkte 140395

Ich bin mir sicher, dass es eine kompaktere Lösung gibt, aber so sollte es funktionieren.

#!/bin/bash

mysql -B -e "show databases" | egrep -v "Database|information_schema" | while read db; 
do 
  echo "$db"; 
  mysqldump $db TableName > $db.sql
done

Möglicherweise müssen Sie die mysql y mysqldump Anrufe abhängig von Ihren Verbindungsinformationen.

2voto

Donut Punkte 103447

Ich denke, in diesem Fall wäre eine Iteration angemessener (statt einer Rekursion).

1voto

Joril Punkte 18820

Wenn Sie unter Linux arbeiten, würde ich vorschlagen, ein einfaches Bash-Skript zu schreiben, das die 150 DB-URLs durchläuft und mysqldump für jede einzelne aufruft.

0voto

Rippo Punkte 21266

参照 Linktext Da das Programm Metadaten für alle Datenbanken und alle Tabellen generiert, können Sie es möglicherweise so anpassen, dass es Daten für Sie exportiert. Allerdings ist dies in PHP und ich bin mir nicht sicher, welche Sprache Sie verwenden möchten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X