Mysqldump beschwert sich über ausgewählte Datenbanken, unabhängig von der Befehlszeile


20

Mysqldump beschwert sich über Befehlszeilenoptionen, die ich nie angegeben habe. Ich habe weder Shell-Aliase noch eine benutzerdefinierte .my.cnf-Datei festgelegt. Was mache ich falsch?

Mit der --databaselangen Option:

$ mysqldump --user cloud -p --database cloud > backup.mysqldb
Warning: Using unique option prefix database instead of databases is deprecated and  will be removed in a future release. Please use the full name instead.
Warning: mysqldump: ignoring option '--databases' due to invalid value 'cloud'
Warning: Using unique option prefix database instead of databases is deprecated and will be removed in a future release. Please use the full name instead.

Mit der --databaseslangen Option:

$ mysqldump --user cloud -p --databases cloud > backup.mysqldb
Warning: Using unique option prefix database instead of databases is deprecated and will be removed in a future release. Please use the full name instead.
Warning: mysqldump: ignoring option '--databases' due to invalid value 'cloud'

Mit der --all-databaseslangen Option:

$ mysqldump --user cloud -p --all-databases > backup.mysqldb
Warning: Using unique option prefix database instead of databases is deprecated and will be removed in a future release. Please use the full name instead.
Warning: mysqldump: ignoring option '--databases' due to invalid value 'cloud'

Verwenden Sie nur den DB-Namen:

$ mysqldump --user cloud -p cloud > backup.mysqldb
Warning: Using unique option prefix database instead of databases is deprecated and will be removed in a future release. Please use the full name instead.
Warning: mysqldump: ignoring option '--databases' due to invalid value 'cloud'

Und schließlich nichts spezifizieren :

$ mysqldump --user cloud -p > backup.mysqldb
Warning: Using unique option prefix database instead of databases is deprecated and will be removed in a future release. Please use the full name instead.
Warning: mysqldump: ignoring option '--databases' due to invalid value 'cloud'

1
Sie haben wahrscheinlich schon überprüft, aber nichts gefunden werden /etc/my.cnfoder /etc/mysql/conf.doder ähnlichen Orten?
Martijn Heemels

Veröffentlichen Sie Ihre /etc/my.cnf(und seine Includes) und $HOME/.my.cnfDateien.
Michael Hampton

Antworten:


27

In Ihrer .my.cnfOptionsdatei ist wahrscheinlich der Datenbankparameter für alle Clients angegeben, aber dieser Parameter gefällt mysqldump nicht. Listen Sie diesen Parameter also nicht für alle Clients in Ihrer Optionsdatei auf.

Zum Beispiel, hier ist, wie ich es gelöst habe, damit der MySQL-Client immer noch ohne Angabe der Datenbank funktioniert (standardmäßig mit dem Namen 'walkin') und MySQLDump sich nicht beschwert:

Vor:

$ cat ~ / .my.cnf
[Klient]
Benutzer = root
Host = 127.0.0.1
password = "root"
database = walkin

Nach:

$ cat ~ / .my.cnf
[Klient]
Benutzer = root
Host = 127.0.0.1
password = "root"

[MySQL]
database = walkin

Also kontraintuitiv. Vielen Dank für die Aufklärung.
Jchavannes

FWIW, hier ist ein (sehr alter) Fehlerbericht dafür: bugs.mysql.com/bug.php?id=18209
Dario Seidl

Und eine neuere für MariaDB: mariadb.atlassian.net/browse/MDEV-7208
Dario Seidl
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.