私は毎晩MySQLデータベースをmysqldumpを使ってバックアップするPowershellスクリプトを用意しています。これはうまくいきますが、prod db(db2)のバックアップからレポートdb(db1)を更新するためにスクリプトを拡張したいと思います。私は次のテストスクリプトを書いたが動作しません。私はCommandTextへのSQLファイルの読み込みが問題だと感じていますが、どのようにデバッグするのか分かりません。Powershellを使用してMySQLに対してSQLスクリプトを実行する
[system.reflection.assembly]::LoadWithPartialName("MySql.Data")
$mysql_server = "localhost"
$mysql_user = "root"
$mysql_password = "password"
write-host "Create coonection to db1"
# Connect to MySQL database 'db1'
$cn = New-Object -TypeName MySql.Data.MySqlClient.MySqlConnection
$cn.ConnectionString = "SERVER=$mysql_server;DATABASE=db1;UID=$mysql_user;PWD=$mysql_password"
$cn.Open()
write-host "Running backup script against db1"
# Run Update Script MySQL
$cm = New-Object -TypeName MySql.Data.MySqlClient.MySqlCommand
$sql = Get-Content C:\db2.sql
$cm.Connection = $cn
$cm.CommandText = $sql
$cm.ExecuteReader()
write-host "Closing Connection"
$cn.Close()
ご協力いただければ幸いです。ありがとう。
私が原因私の無知に( 'Mysql.Data'部分が何であるかを理解していません先進的なPowershellの、それが不明確ではないからです)。しかし、代わりにコマンドラインのmySQLクライアントを使用する方が簡単でしょうか? –
Pekka PowerShellを使用しているので、毎晩タスクスケジューラを使用して実行できます。ありがとうKeith。 – abarr