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'

Використовуючи лише ім'я 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'

І нарешті, нічого не вказуючи :

$ 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або подібних місцях?
Martijn Heemels

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

Відповіді:


27

У вашому .my.cnfфайлі параметрів, напевно, вказаний параметр бази даних для всіх клієнтів, але mysqldump цей параметр не любить. Тому не перераховуйте цей параметр для всіх клієнтів у вашому файлі параметрів.

Наприклад, ось як я це вирішив, щоб клієнт mysql як і раніше працює, не вказуючи базу даних (за замовчуванням ім'я 'walkin'), і mysqldump не скаржиться:

Перед:

$ cat ~ / .my.cnf
[клієнт]
користувач = root
хост = 127.0.0.1
password = "корінь"
база даних = walkin

Після:

$ cat ~ / .my.cnf
[клієнт]
користувач = root
хост = 127.0.0.1
password = "корінь"

[mysql]
база даних = walkin

Тож протидію інтуїтивно зрозумілим. Дякуємо, що очистили це.
jchavannes

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.