Mysqldump жалуется на выбранные базы данных независимо от командной строки


20

Mysqldump жалуется на параметры командной строки, которые я никогда не указывал. У меня нет ни псевдонимов оболочки, ни собственного набора файлов .my.cnf. Что я делаю неправильно?

Используя --databaseдлинную опцию:

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

Используя --databasesдлинную опцию:

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

Используя --all-databasesдлинную опцию:

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

Используя только имя базы данных:

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

И, наконец, ничего не указав :

$ 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
Вы, наверное, уже проверили это, но ничего не найти в /etc/my.cnfили /etc/mysql/conf.dили подобных местах?
Мартейн Химельс

Опубликуйте свои /etc/my.cnf(и включает в себя) и $HOME/.my.cnfфайлы.
Майкл Хэмптон

Ответы:


27

В вашем .my.cnfфайле опций вы, вероятно, указали параметр базы данных для всех клиентов, но mysqldump не нравится этот параметр. Поэтому не указывайте этот параметр для всех клиентов в вашем файле опций.

Например, вот как я решил эту проблему, так что клиент mysql по-прежнему работает без указания базы данных (по умолчанию имя «walkin»), а mysqldump не жалуется:

Перед:

$ cat ~ / .my.cnf
[Клиент]
пользователь = корень
хост = 127.0.0.1
пароль = «корень»
базы данных = Walkin

После:

$ cat ~ / .my.cnf
[Клиент]
пользователь = корень
хост = 127.0.0.1
пароль = «корень»

[MySQL]
базы данных = Walkin

Так что противоречит интуитивно. Спасибо за разъяснение этого.
1918 года

FWIW, вот (очень старый) отчет об ошибке для него: bugs.mysql.com/bug.php?id=18209
Дарио

И более новый для MariaDB: mariadb.atlassian.net/browse/MDEV-7208
Дарио
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.