1

MySQL で、"<" を含むパスワードを持つユーザーがいます。

CREATE USER me IDENTIFIED BY 'ab>cd';

MySQL Query Browser を使用して、このユーザー名とパスワードを使用して完全にログインできます。偉大な。しかし、コマンドラインを使用してログインしようとすると失敗します。

C:\Program Files\MySQL\Server\bin>mysql -u me -pab>cd
ERROR 1045 (28000): Access denied for user 'me'@'localhost' (using password: YES)

残念ながら、同じ例外メッセージが表示されるため、.NET アプリケーションの MySQL 接続文字列で同じ問題が発生しているようです。

もちろん、これは正常に機能します...

CREATE USER me2 IDENTIFIED BY 'abcd';

C:\Program Files\MySQL\Server\bin>mysql -u me2 -pabcd
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 38
Server version: 5.1.31-community MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>

何か助けはありますか?

4

1 に答える 1

2

引用符を使用して > 記号をエスケープしてみてください。

C:\Program Files\MySQL\Server\bin>mysql -u me -p"ab>cd"

> をそのまま使用すると、コマンドラインによってリダイレクト演算子として解釈され、コマンドの出力 (エラーではなく、エラーが表示される理由である出力のみ) がファイルに保存されます。

実際、この問題により、コマンドを実行していたディレクトリに cd という名前のファイルが作成されているはずです。

于 2009-09-04T22:38:39.827 に答える