Я пытаюсь использовать mysqldump
для вывода схемы, и в основном это работает, но я столкнулся с одним любопытством: опция -p
или --password
кажется, что она делает что-то другое, кроме как установить пароль (как man
и --help
вывод говорят, что это должно быть).
В частности, похоже, что он делает то, что указано здесь: http://snippets.dzone.com/posts/show/360 - то есть, чтобы сбрасывать базу данных.
Чтобы поддержать мое несколько диковинное утверждение, могу вам сказать, что если я не укажу опцию --password
(или -p
), команда распечатает выражение об использовании и выйдет с ошибкой. Если я его укажу, мне сразу будет предложено ввести пароль (!), А затем база данных, указанная в опции --password
, будет сброшена (или в обычном случае указывается, что пароль, не соответствующий имени базы данных, указано).
Здесь транскрипт:
$ mysqldump -u test -h myhost --no-data --tables --password lose Enter password: -- MySQL dump 10.10 mysqldump: Got error: 1044: Access denied for user 'test'@'%' to database 'lose' when selecting the database
Итак, что дает? Так ли это должно работать? Это, безусловно, не имеет смысла и не соответствует официальной документации. И, наконец, если это так, как это работает, как я должен указывать пароль, который будет использоваться в автоматическом задании? Используя expect
Я использую mysqldump Ver 10.10 Distrib 5.0.22, for pc-linux-gnu (i486)
.