Mysqldump si lamenta dei database scelti indipendentemente dalla riga di comando


20

Mysqldump si lamenta delle opzioni della riga di comando che non ho mai specificato. Non ho alias di shell né un set di file .my.cnf personalizzato. Che cosa sto facendo di sbagliato?

Utilizzando l' --databaseopzione lunga:

$ 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.

Utilizzando l' --databasesopzione lunga:

$ 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'

Utilizzando l' --all-databasesopzione lunga:

$ 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'

Utilizzando solo il nome db:

$ 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'

E infine, non specifica nulla :

$ 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
Probabilmente avete controllato questo già, ma niente di interesse /etc/my.cnfo /etc/mysql/conf.do luoghi simili?
Martijn Heemels,

Pubblica il tuo /etc/my.cnf(e le sue include) e $HOME/.my.cnffile.
Michael Hampton

Risposte:


27

Nel tuo .my.cnffile delle opzioni, probabilmente hai il parametro del database specificato per tutti i client, ma a mysqldump non piace quel parametro. Quindi non elencare quel parametro per tutti i client nel tuo file di opzioni.

Ad esempio, ecco come l'ho risolto in modo che il client mysql funzioni ancora senza specificare il database (predefinito per il nome 'walkin') e mysqldump non si lamenta:

Prima:

$ cat ~ / .my.cnf
[cliente]
utente = radice
host = 127.0.0.1
password = "root"
database = walkin

Dopo:

$ cat ~ / .my.cnf
[cliente]
utente = radice
host = 127.0.0.1
password = "root"

[Mysql]
database = walkin

Quindi intuitivo. Grazie per il chiarimento.
jchavannes,

FWIW, ecco una (molto vecchia) segnalazione di bug: bugs.mysql.com/bug.php?id=18209
Dario Seidl

E uno più recente per MariaDB: mariadb.atlassian.net/browse/MDEV-7208
Dario Seidl
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.