Ваша команда mysqldump выглядит следующим образом:
/usr/bin/mysqldump --host=HOST --user=USER --password=PASSWORD TABLE --quick --lock-tables --add-drop-table
Глядя на руководство по mysqldump , я бы сказал, что он подумает, что TABLE - это имя вашей базы данных (цитирование) :
Существует три основных способа вызова
туздЫшпр:
shell> mysqldump [options] db_name [tables]
shell> mysqldump [options] --databases db_name1 [db_name2 db_name3...]
shell> mysqldump [options] --all-databases
По-видимому, вы должны поставить имя базы данных перед именем таблицы, которую вы хотите вывести.
Так, например, что-то подобное может сработать:
/usr/bin/mysqldump --host=HOST --user=USER --password=PASSWORD DBNAME TABLE --quick --lock-tables --add-drop-table
Надеюсь, это поможет!
РЕДАКТИРОВАТЬ: я на самом деле сделал быстрый тест, используя «databasename.tablename», как вы сделали:
mysqldump --user=USER --password=PASSWORD --no-data DBNAME.TABLENAME
Я получаю тот же вывод, что и у вас ... Но у меня также есть ошибка:
mysqldump: Got error: 1102: Incorrect database name 'DBNAME.TABLENAME' when selecting the database
Который, я полагаю, идет к выводу ошибки, а не к стандартному выводу (вы только перенаправляете второй в свой файл)
Если я использую:
mysqldump --user=USER --password=PASSWORD --no-data DBNAME TABLENAME
Все работает нормально: ошибки нет, и у меня есть дамп.