バックアップ(mysqldump)からのMySQLのリカバリーができません。
解決したいこと
MySQLのリカバリーができません。
解決方法を教えて下さい。
発生している問題・エラー
あるサーバーで実行中のデータベースを別のサーバーにコピーしようとしています。
mysqldumpでバックアップファイルを作り、それを別のサーバーにコピーしてリカバリーしようとしています。
テーブルは87個あり、86個はうまくいっているのですが、1つだけ実行できません。実行できないファイルの容量が27MBあり、そのせいかと思います。その次に大きいのは20MBなのですが、こちらはOKです。
実行しているサーバーは、2つともXサーバーです。MySQLバージョンは5.7.xです。
Error:SQLSTATE[HY000]: General error: 2006 MySQL server has gone away
バックアップファイル作成
echo date("個別バックアップ開始:Y年m月d日 H時i分s秒") . '<br>';
for ($i = 0; $i < $tblflno; $i++) {
exec("mysqldump --user={$user} --password={$pass} --host={$host} {$database} {$tblflnm[$i]} --result-file={$tblflnm[$i]}.sql 2>&1", $output);
}
リカバリー実行
php
for ($i = 0; $i < $tblflno; $i++) {
echo "{{$tblflnm[$i]}.sql" . ":インポート開始" . date(":Y年m月d日 H時i分s秒");
try {
$pdo = new PDO('mysql:host='.$host.'; dbname='.$user, $user, $pass);
$sql = file_get_contents("{{$tblflnm[$i]}.sql");
$qr = $pdo->exec($sql);
echo ":インポート成功" . date(":Y年m月d日 H時i分s秒") . '<br>';
} catch (PDOException $e) {
echo('Error:' . $e->getMessage());
die();
}
}