Я пытаюсь использовать 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).