以下を含むスクリプトがあります...
$conn = "C:\Program Files\xxx xxx\xxx xxx\MySQLConfig\MySQL Server 5.0\bin\mysqldump.exe"
$sqlargs = @("--verbose", "--user=xxx", "--password=xxx", "--port=xxx", "--add-drop-database", "--routines", "--single-transaction", "--databases", "xxx")
$bak_file = "C:\backups\bak040312.sql"
$log_file = "C:\backups\logs\L040312.log"
(&$conn $sqlargs | out-file bak_file -Encoding UTF8) 2>>$log_file
echoargs を使用して、引数がexeに適切に渡されていることを確認しました
PS C:\scripts> echoargs $sqlargs
Arg 0 is <--verbose>
Arg 1 is <--user=xxx>
Arg 2 is <--password=xxx>
Arg 3 is <--port=xxx>
Arg 4 is <--add-drop-database>
Arg 5 is <--routines>
Arg 6 is <--single-transaction>
Arg 7 is <--databases>
Arg 8 is <xxx>
バックアップは期待どおりに実行されているようですが、mysqldump は mysql サーバーに接続した直後にエラーをスローしています。
mysqldump.exe : -- Connecting to localhost...
At line:1 char:3
+ (& <<<< $mysqlconn $sqlargs | out-file $bak_file -Encoding UTF8) 2>>$log_file
+ CategoryInfo : NotSpecified: (-- Connecting to localhost...:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
-- Retrieving table structure for table agentactivity...
...
...
...
...
-- Retrieving rows...
-- Disconnecting from localhost...
&の代わりにinvoke-expressionを試しました...なぜこのエラーが発生するのかわかりません。どんな助けでも大歓迎です。
更新 私の目標は、詳細な出力と mysqldump からのエラーをログ ファイルに記録することです。
ありがとう