MySQL クライアントではなく、シェル スクリプトが Y/N 応答を待っていることは明らかです。
コピー/貼り付けするだけで、行を直接実行できるはずです
mysql -uuser -ppass -e "DROP DATABASE IF EXISTS database"
Linux コマンド プロンプトで。
必要に応じて、このコマンドが表示される場所で、シェル スクリプトからの Y/N 応答をコメント アウトします。
私の次の提案は、my.cnf を調べることです。
[mysql]
次のor[client]
セクションがあるかどうかを確認します。
[mysql]
i-am-a-dummy
safe-updates
また
[client]
i-am-a-dummy
safe-updates
これらは実際のオプションです。MySQL ドキュメントのsafe-updates と i-am-a-dummyを参照してください。
更新 2013-01-25 16:48 EDT
次に推測するのは、オペレーティング システムです。どうして ???
として Linux にログインしている場合、root
または を実行sudo
した場合は、DROP DATABASE IF EXISTS
. OS レベルでは、mysqld はデータベースのフォルダーを破棄しようとします。
たとえば、datadir が/var/lib/mysql
で を実行するDROp DATABASE IF EXISTS rolando;
と、mysqld は を実行しようとしますrm -rf /var/lib/mysql/rolando
。
root
そうでない場合、またはsudo
そうでない場合はroot
、OSがそのメッセージをエコーすることを期待しています。実際、root としてログインしていない状態で PID ファイルを削除しようとすると、OS から PID ファイルの削除を求めるメッセージが表示されるのを見たことがありますservice mysql stop
。
更新 2013-01-25 16:54 EDT
パスワードを除いて、 mysqladminもプロンプトを表示しません。すべてのオプションは次のとおりです。
[root@***]# mysqladmin --help
mysqladmin Ver 8.42 Distrib 5.1.47, for redhat-linux-gnu on x86_64
Copyright 2000-2008 MySQL AB, 2008 Sun Microsystems, Inc.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license
Administration program for the mysqld daemon.
Usage: mysqladmin [OPTIONS] command command....
-c, --count=# Number of iterations to make. This works with -i
(--sleep) only.
--debug-check Check memory and open file usage at exit.
--debug-info Print some debug info at exit.
-f, --force Don't ask for confirmation on drop database; with
multiple commands, continue even if an error occurs.
-C, --compress Use compression in server/client protocol.
--character-sets-dir=name
Directory for character set files.
--default-character-set=name
Set the default character set.
-?, --help Display this help and exit.
-h, --host=name Connect to host.
-b, --no-beep Turn off beep on error.
-p, --password[=name]
Password to use when connecting to server. If password is
not given it's asked from the tty.
-P, --port=# Port number to use for connection or 0 for default to, in
order of preference, my.cnf, $MYSQL_TCP_PORT,
/etc/services, built-in default (3306).
--protocol=name The protocol to use for connection (tcp, socket, pipe,
memory).
-r, --relative Show difference between current and previous values when
used with -i. Currently only works with extended-status.
-O, --set-variable=name
Change the value of a variable. Please note that this
option is deprecated; you can set variables directly with
--variable-name=value.
-s, --silent Silently exit if one can't connect to server.
-S, --socket=name The socket file to use for connection.
-i, --sleep=# Execute commands repeatedly with a sleep between.
--ssl Enable SSL for connection (automatically enabled with
other flags). Disable with --skip-ssl.
--ssl-ca=name CA file in PEM format (check OpenSSL docs, implies
--ssl).
--ssl-capath=name CA directory (check OpenSSL docs, implies --ssl).
--ssl-cert=name X509 cert in PEM format (implies --ssl).
--ssl-cipher=name SSL cipher to use (implies --ssl).
--ssl-key=name X509 key in PEM format (implies --ssl).
--ssl-verify-server-cert
Verify server's "Common Name" in its cert against
hostname used when connecting. This option is disabled by
default.
-u, --user=name User for login if not current user.
-v, --verbose Write more information.
-V, --version Output version information and exit.
-E, --vertical Print output vertically. Is similar to --relative, but
prints output vertically.
-w, --wait[=#] Wait and retry if connection is down.
--connect_timeout=#
--shutdown_timeout=#
ねえ、私は正しい立場にいます
--force
DROP DATABASE のプロンプトを表示します
OK、犯人を特定したと思います。mysqladmin
私はデータベースを削除するのに慣れていないので、今日何かを学びました。