3

開いている Windows コマンド シェル (Win7) から次のコマンドを実行すると、正常に動作し、バックアップがファイル システムに書き込まれます。MySQL データベースは、リモート Linux サーバー上にあります。

"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqldump" -h *******.com -u ******* -p***** --databases ******* > "C:\******\_Database\backups\DB_%date:~0,3%.bak"

しかし、同じコマンドをバッチ ファイル (whatever.bat) に入れ、bat ファイルを実行すると (最後に "pause" コマンドを使用)、"Got error: 1045: Access denied for user ' me 'というエラーが表示されます。接続しようとすると、@'c-24-2-64-138.hsd1.ut.comcast.net' (使用パスワード: YES)".

開いているコマンド シェル内からは機能するのに、bat ファイルから実行すると機能しないのはなぜですか? どうすればこれを機能させることができますか?

4

5 に答える 5

3

私も同様の問題を経験しています。私は4つのデータベースを持っており、それらはすべて正常にバックアップされます。5番目は、rootでさえ、どのユーザーを使用しようとしてもバックアップされません。パスワードの^記号が私にとって問題だったことがわかりました。ユーザーのパスワードを変更して含めると!^ではなく、すべてがすぐに機能しました。

于 2012-11-22T11:02:45.943 に答える
1

わかりました、私はこの腹立たしいことを理解しました。問題は私のパスワードそのものでした: 4$5%6^^7^&deZeYPdx5014VB3C#

そのパスワードを変更すると、すべてが機能しました。そこにある文字が、Windows バッチ ファイルの実行を妨害します。% 記号だと思いますが、わかりにくいです。コマンドシェルからは正常に機能しますが、batファイルまたはcmdファイルでは機能しないという事実を考えると、Windowsのバグである必要があります。

于 2012-09-01T04:38:47.180 に答える
0

試しました--user=**** --password=****か?

mysqldumpがスクリプトでユーザー名とパスワードを取得する際に問題が発生したことを思い出し、この設定が機能することを発見しました。申し訳ありませんが、問題が何であったか、または何が原因であったかについて、これ以上思い出せないのではないかと思います...

于 2012-04-24T14:31:57.723 に答える