Wie zeige ich Warnungen beim Laden von aus mysqldump erstellten Daten?

9

Ich habe eine große .sql-Datei mit großer Einfügung in ... Werte ... Anweisungen. Viele dieser Anweisungen erzeugen während der Ausführung Warnungen. Wie kann ich MySQL dazu bringen, die Warnungen auszudrucken?

Wenn Control-C gedrückt wird, wird der Import gestoppt und ich kehre zur Befehlszeile des Betriebssystems zurück.

Hier ist eine Beispielausgabe zum Ausführen von SQL:

Query OK, 9827 rows affected, 5403 warnings (0.20 sec)
Records: 9827  Duplicates: 0  Warnings: 5403

Query OK, 9859 rows affected, 5247 warnings (0.20 sec)
Records: 9859  Duplicates: 0  Warnings: 5247
tmcallaghan
quelle

Antworten:

10

Sie sollten mysqld mit Protokollwarnungen (standardmäßig aktiviert) und der maximalen Fehleranzahl starten

[mysqld]
log-warnings
max-error-count=9999999999

Möglicherweise müssen Sie den MySQL-Client mit starten

SET SQL_WARNINGS = 1;

Dies ist keine MySQL-Einstellung, sondern eine MySQL-Client-Sitzungseinstellung.

Möglicherweise möchten Sie der MySQL-Client-Sitzung Show-Warnungen hinzufügen

mysql -u... -p -hlocalhost --show-warnings
RolandoMySQLDBA
quelle
Diese Option druckt diese Warnungen nicht in das Fehlerprotokoll des Servers.
tmcallaghan
Der erste Vorschlag sollte Warnungen in das Fehlerprotokoll aufnehmen.
RolandoMySQLDBA
Das Hinzufügen von --show-warnings zum MySQL-Client funktionierte wie ein Zauber, danke.
tmcallaghan
1

Mit dem MySQL- Client können Sie außerdem Folgendes tun:

mysql> tee import.log
mysql> source .\test.sql

dann sieht die import.log Datei im aktuellen Verzeichnis erstellt.

Tinram
quelle