Ich führe MySQL 5.5 unter Windows aus und versuche einen mysqldump:
"C:\WebServer\MySQL Server 5.5\bin\mysqldump.exe" -u user -ppassword database > "C:\backup.sql"
Aber bekomme einen Fehler:
mysqldump: unbekannte Option '--no beep'
Dies ist ein ziemlich einfacher Befehl, der auf zwei anderen Entwicklungsboxen angewendet werden kann.
Dieselbe Ausgabe, kommentiert (#) die No-Beep-Zeile in MySQL my.ini, löste das Problem.
Ich habe diese Antwort auf dba.stackexchange.com gefunden, was sehr hilfreich ist:
Die
no-beep
Option bewirkt, dass dermysql
- Befehlszeilenclient nicht piept, wenn Fehler auftreten.Wenn dies eine Option ist, die Sie möchten, sollte sie sich im Abschnitt
[mysql]
Ihresmy.cnf
[oder my.ini] befinden. Dieser Fehler weist darauf hin, dass er sich im Abschnitt[client]
Ihresmy.cnf
befindet, was dazu führt, dass [...] der Fehler ausgegeben wird, da die Option nicht erkannt wird.Überprüfen Sie Ihren
my.cnf
und entfernen Sie entweder die Zeile oder platzieren Sie sie anstelle von[mysql]
im Abschnitt[client]
.Die Optionsgruppe [Client] wird von allen Client-Programmen gelesen (jedoch nicht von mysqld). Auf diese Weise können Sie Optionen angeben, die für alle Clients gelten. Beispielsweise ist [Client] die perfekte Gruppe, um das Kennwort anzugeben, das Sie für die Verbindung zum Server verwenden. (Stellen Sie jedoch sicher, dass die Optionsdatei nur von Ihnen gelesen und beschrieben werden kann, damit andere Benutzer Ihr Kennwort nicht finden können.) Stellen Sie sicher, dass Sie keine Option in die Gruppe [Client] setzen, es sei denn, sie wird von allen Client-Programmen, die Sie verwenden, erkannt benutzen. Programme, die die Option nicht verstehen, werden nach dem Anzeigen einer Fehlermeldung beendet, wenn Sie versuchen, sie auszuführen.
Etwas in einer Umgebungsvariablen oder in meiner.cnf-Datei?
Was es wert ist, wenn ich die No-Beep-Option (eine gültige Option für den mysql-Client, aber nicht für mysqldump) in den [client]
-Abschnitt meiner Konfigurationsdatei stelle, bekomme ich
mysqldump: unknown option '--no-beep'
Obwohl das Entfernen der Option -no-beep aus dem Clientabschnitt in der Datei my.ini in den Eigenschaften des mysql-Diensts entfernt wurde, blieb das Problem bestehen. Der MYSQL56-Service-Setup verwendete my.in von E:\Program Data\MySQL\MySQL Server 5.6 \. Und diese Ini-Datei hatte im Abschnitt [Client] keine Option -no-Beep.
Was war das Problem?
In meinem Setup befindet sich mysqldump.exe unter C:\Programme\MySQL\MySQL Server 5.6\bin. Bei Ausführung als Befehlszeilenoption verwendete mysql C:\Programme\MySQL\MySQL Server 5.6\my.ini. Diese Ini-Datei enthielt die No-Beep-Option. mysqldump verwendete nicht die vom Dienst angegebene my.ini-Datei, sondern das Verzeichnis, in dem es sich befand.
Das Löschen von C:\Programme\MySQL\MySQL Server 5.6\my.ini löst das Problem.
Ein Hinweis dazu ist, dass Sie die verschiedenen installierten MySQL-Produkte kennen müssen. Das folgende Szenario erklärt es am besten.
Sie können also davon ausgehen, dass die MySQL Workbench Einstellungen aus der my.ini
-Datei der MySQL-Version zieht, mit der Sie arbeiten. Dies ist eine sichere Annahme, da beim Konfigurieren einer Konfiguration für die Administration in der Workbench auf den für diese Installation spezifischen my.ini
hingewiesen werden muss. Dies ist jedoch falsch, da ich festgestellt habe, dass es sich bei demjenigen befindet, der sich in C:\Program Files\MySQL\my.ini
befindet, als zu verwenden. Sie müssen diese Datei daher bearbeiten, damit die Workbench ordnungsgemäß funktioniert.
Das Löschen der No-Beep-Option funktionierte für mich, aber ich musste die Datei my.ini in meinem Windows-Verzeichnis ändern ! Ich benutze übrigens Fenster 10.
Eine alternative Lösung ist die Verwendung der Option --no-defaults
ZB: mysqldump --no-defaults -u root -p [DB_NAME] > [FILE_NAME].sql