WindowsServerにインストールしたOOCentralのMySQLDBバックアップとリカバリ
※開発環境でテストしただけで本番ではやっていないので参考ということで。
WindowsのMySQLでUTF-8で作成したDBのdumpが文字化けしてうまくリストアできない、ということがあり、色々試してみたのでメモです。
OperationOrchestrationのマニュアルにはmysqldump使ってね、ぐらいしか書いていないので。。。別にOOに特化したバックアップではないので、OO以外でも使えるかも。Linuxならこんなことは起きなさそうだが・・・まぁLinuxでもWeb〇〇nでバックアップ、リストアするヘタレではありますが(笑)。
mysqldump,リストア時のmysql.exeのオプションに「–default-character-set=utf8」を付加すると、ちゃんとUTF-8でdump、リストアするようです。
【参考文例】
my.iniファイルにUTF-8と書いてもバックアップの文字コードがUTF8になっていない時はコマンド内で直接指定する
〇バックアップ(dumpファイル名に日付を付ける)
mysqldump.exe --defaults-file="パスワードファイルの絶対パス" --single-transaction --max_allowed_packet=250M --host=localhost --protocol=tcp --user=root --port=3306 --default-character-set=utf8 --skip-triggers "バックアップするDBの名前" > "絶対パスdumpファイル名%data:/=%"
〇リストア
mysql.exe --defaults-file="パスワードファイルの絶対パス" --protocol=tcp --host=locahost --user=root --port=3306 --default-character-set=utf8 --comments --database=リストア先DBの名前 < "バックアップしたdumpファイルの絶対パス"
〇パスワードファイルの書式
[client]
password="パスワード"
[client] password="パスワード"