インストーラーのデータベースエラーと警告をインストールレポートで解決する
バックアップのインストールまたは復元の際、インストーラーレポートにはデータベースに関連するエラーや警告が含まれる場合があります。これらのエラーは通常、新しいデータベースに挿入できなかった [hash]-dump.sql ダンプファイルからのデータに関連しています。
この記事では、インストール中に発生する可能性のあるデータベース(SQL)エラーについて説明し、それらを解決するためのステップバイステップガイドを提供します。
書き込みエラー
インストール中にエラーが発生したクエリは、インストーラーログファイルに記録されます。これらのエラーを確認するには、ログファイルを開き、「DATABASE RESULTS」というタイトルのセクションを検索してください。エラーは「**ERROR**」とマークされます。最も一般的な原因は次のとおりです。
- データベースのバージョン: サーバー間でMySQLのバージョンが大きく異なる場合、互換性の問題が発生する可能性があります。問題を最小限に抑えるために、宛先サーバーのMySQLバージョンがビルドサーバーのバージョンと同じかそれ以上であることを確認してください。
- MySQLモード: MySQLモードは、MySQLエンジンがクエリを処理する方法に影響を与える可能性があります。インストーラーは、NO_ENGINE_SUBSTITUTIONなどのモードの適用をサポートしています。多くのデータベースエラーが発生する場合は、最初にNO_ENGINE_SUBSTITUTIONを設定することをお勧めします。その方法は次のとおりです。
- デフォルトでは、Duplicator はよりシンプルなインストールモードを使用している可能性があり、高度なオプションは表示されません。
- インストーラーのステップ1にいるときは、すべての追加設定にアクセスできるように、アドバンスモードになっていることを確認してください。

- インストールの続行。
- インストールが完了したら、インストーラーログ(右上隅にあるリンク)でエラーを確認してください。
さまざまな組み合わせを試して、サーバーに最適なものを見つけてください。最適な構成を特定したら、ホストまたはサーバー管理者に連絡して、これらの値をmy.iniファイルに永続的に設定してもらってください。
クエリサイズ制限エラー
「クエリサイズ制限」に関連するエラーが発生した場合、それはデータペイロードがMySQL構成で許可されているものを超えていることを意味します。値を手動で投稿するか、MySQLサーバーのmax_allowed_packet設定を更新して、より大きなペイロードを処理する必要があります。ホストされているサーバーを使用している場合は、サーバー管理者に連絡してください。詳細については、MySQLパケットサイズのドキュメントを参照してください。
これを自分で解決するには、my.cnf(またはmy.ini)設定ファイルを編集し、max_allowed_package_size=2M設定を追加または更新します。この設定が既に存在する場合は、現在の値の2倍にします。これらの変更を行った後は、必ずMySQLサーバーを再起動してください。
インストーラーレポートの概要
最終ステップのインストーラーレポートは、インストールの潜在的な問題を強調するように設計されています。場合によっては、サイトの全体的な機能に影響を与えないエラーや通知を受け取る可能性があることに注意してください。サイトが安定しており、デプロイ/更新の結果カウントが少ない(10未満)場合は、通常、これらの軽微なエラーや通知は無視できます。
- 更新エラー:これは、新しいサーバーでの実行中に問題が発生した基本的なクエリステートメントです。データの整合性の問題や、異なるMySQLバージョン間の互換性によって引き起こされる可能性があります。ここにエラーが表示される場合は、クエリを調べて移行の問題をデバッグしてください。
- テーブルキー通知:テーブルの新しいURL値が検出されたが、対応するテーブルキーがないため更新できない場合に、これらの通知が発生します。このような値は手動で見つけて更新する必要があります。
- シリアライズに関する注意: PHP の シリアライズ の問題は、内部値が変更されたときに発生する可能性があります。Duplicator はこれらのシリアライズされた文字列を修復しようとしますが、まれに正しく更新されない場合があります。
シリアライズエラーは、さまざまな理由で発生する可能性があります。シリアライズされた文字列を手動で修正するには:- インストーラーレポートで提供されているクエリを使用して、問題のあるシリアライズされた文字列を見つけます。
- http://unserialize.onlinephpfunctions.com/にアクセスします。
- ページ上では、a:1:{s:4:"Test";s:17:"unserialize here!";}のようなサンプルシリアライズ文字列が表示される場合があります。s:4:"Test";セグメントに注意してください。これは4文字の文字列を示します。 "Test"を "Tes"に変更して実行すると、エラーが生成されます。このエラーは、数値文字数が実際の文字列の長さと同期していないために発生します。
- 問題を解決するために、文字列の文字数を実際の長さに一致するように調整します。この方法は、文字列が他のエンコーディングによって破損していない場合に機能します。破損していた場合は、さらなるエンコーディング評価が必要になる場合があります。
クイックチェック
インストーラーレポートでエラーが発生した場合は、次の手順に従ってください。
- サイトが正常に機能していることを確認します。サイトが安定しており、エラー数が少ない場合は、特定のテーマ、プラグイン、またはウィジェットの設定を再保存するだけでよい場合があります。
- それでも懸念がある場合は、インストーラーレポートで提供されているSQLクエリを実行し、エラーログを確認して問題のあるクエリを評価します。これにはphpMyAdminを使用してチェックを実行することもできます。
こちらも参照してください:
データベース書き込みの問題を修正する方法は?
データベース接続の問題を修正する方法は?
Duplicatorの推奨ホスティングプロバイダーは?