0

PowerShell を使用して、Windows 2012 サーバーで実行されている MySQL をバックアップするスクリプトを作成しています。.sqlここにある他のヒントとは異なり、データベースごとにファイルを生成したいと思います。

この投稿では、複数のファイルを作成する方法を示します。私はそれをPowerShellに適応させました:

Get-ChildItem -Path "$($MYSQL_HOME)\data" | cmd /C "$($MYSQL_HOME)\bin\ mysql -u -s -r $($dbuser) -p$($dbpass) -e 'databases show' '| while read dbname; cmd /C "$($MYSQL_HOME)\bin\mysqldump.exe --user = $($dbuser) --password = $($dbpass) --databases $dbname> $($BKP_FOLDER)\$dbname($BACKUPDATE).sql "

でエラーを返しますwhile

.sqlデータベースごとに複数の を生成できるようにするには、何を変更すればよいですか?

4

2 に答える 2

1

コマンドライン全体が b0rken です。捨てて、最初からやり直してください。次のようなことを試してください:

Set-Location "$MYSQL_HOME\bin"
& .\mysql.exe -N -s -r -u $dbuser -p$dbpass -e 'show databases' | % {
  & .\mysqldump.exe -u $dbuser -p$dbpass --single-transaction $_ |
    Out-File "$BKP_FOLDER\${_}$BACKUPDATE.sql" -Encoding Ascii
}
于 2016-03-18T18:34:48.653 に答える