Mysqldump se plaint des bases de données choisies quelle que soit la ligne de commande

20

Mysqldump se plaint des options de ligne de commande que je n'ai jamais spécifiées. Je n'ai pas d'alias de shell ni d'ensemble de fichiers .my.cnf personnalisé. Qu'est-ce que je fais mal?

En utilisant l' --databaseoption longue:

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

En utilisant l' --databasesoption longue:

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

En utilisant l' --all-databasesoption longue:

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

En utilisant uniquement le nom de la base de données:

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

Et enfin, sans rien préciser :

$ 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'
andyn
la source
1
Vous avez probablement vérifié déjà, mais rien à trouver dans /etc/my.cnfou /etc/mysql/conf.dou lieux similaires?
Martijn Heemels
Publiez vos /etc/my.cnf(et ses inclus) et $HOME/.my.cnffichiers.
Michael Hampton

Réponses:

27

Dans votre .my.cnffichier d'options, vous avez probablement le paramètre de base de données spécifié pour tous les clients, mais mysqldump n'aime pas ce paramètre. Ne répertoriez donc pas ce paramètre pour tous les clients dans votre fichier d'options.

Par exemple, voici comment je l'ai résolu pour que le client mysql fonctionne toujours sans spécifier la base de données (par défaut au nom 'walkin') et mysqldump ne se plaint pas:

Avant:

$ cat ~ / .my.cnf
[client]
user = root
hôte = 127.0.0.1
mot de passe = "root"
base de données = walkin

Après:

$ cat ~ / .my.cnf
[client]
user = root
hôte = 127.0.0.1
mot de passe = "root"

[mysql]
base de données = walkin
Kai Carver
la source
Donc, contre-intuitif. Merci d'avoir clarifié cela.
jchavannes
FWIW, voici un (très ancien) rapport de bogue: bugs.mysql.com/bug.php?id=18209
Dario Seidl
Et un nouveau pour MariaDB: mariadb.atlassian.net/browse/MDEV-7208
Dario Seidl