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

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

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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.