Web サイトの大きな MySQL テーブルを定期的に交換する必要があります。だから私はこれを行うためにPHPスクリプトを書きました....
- ローカル サーバーから .SQL ファイルにテーブルをエクスポートする (CREATE TABLE と INSERT を含む)
- それを圧縮します
- リモートホストにftpします
そして、リモートホストで別のスクリプトを実行して....
- 解凍する
- テーブルを MySQL データベースにインポートする
つまり、私が実行するテーブルをインポートするには...
. . .
$queryStg = file_get_contents($sqlFilename);
$sqlQuery = mysqli_multi_query($mysqliLink, $queryStg);
. . .
しかし、エラーメッセージが表示されます...
Got a packet bigger than 'max_allowed_packet' bytes
私は共有ホスティング (goDaddy) を使用しているため、my.cfg などをいじったり、SSH から mysql コマンドを実行したりすることはできません。
これを回避する方法はありますか。たとえば、インポートを小さなバッチに分割するコマンドがありますか、それともこれを行うためのより良い方法はありますか?