Mysqldump se queja de las bases de datos elegidas independientemente de la línea de comando

20

Mysqldump se queja de las opciones de línea de comandos que nunca he especificado. No tengo alias de shell ni un conjunto de archivos .my.cnf personalizado. ¿Qué estoy haciendo mal?

Usando la --databaseopción larga:

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

Usando la --databasesopción larga:

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

Usando la --all-databasesopción larga:

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

Usando solo el nombre 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'

Y finalmente, sin especificar nada :

$ 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
fuente
1
Probablemente ya haya verificado esto, pero ¿no se encuentra nada en /etc/my.cnfo en /etc/mysql/conf.dubicaciones similares?
Martijn Heemels
Publique su /etc/my.cnf(y sus incluye) y $HOME/.my.cnfarchivos.
Michael Hampton

Respuestas:

27

En su .my.cnfarchivo de opciones, probablemente tenga el parámetro de base de datos especificado para todos los clientes, pero a mysqldump no le gusta ese parámetro. Por lo tanto, no enumere ese parámetro para todos los clientes en su archivo de opciones.

Por ejemplo, así es como lo resolví para que el cliente mysql todavía funcione sin especificar la base de datos (por defecto el nombre 'walkin') y mysqldump no se queja:

Antes de:

$ cat ~ / .my.cnf
[cliente]
usuario = root
host = 127.0.0.1
contraseña = "root"
base de datos = walkin

Después:

$ cat ~ / .my.cnf
[cliente]
usuario = root
host = 127.0.0.1
contraseña = "root"

[mysql]
base de datos = walkin
Kai Carver
fuente
Tan contra intuitivo. Gracias por aclarar esto.
jchavannes
FWIW, aquí hay un informe de error (muy antiguo): bugs.mysql.com/bug.php?id=18209
Dario Seidl
Y uno más nuevo para MariaDB: mariadb.atlassian.net/browse/MDEV-7208
Dario Seidl