Cloud Infrastructure 上のAdobe Commerceでのデータベースダンプエラーのトラブルシューティング

メンテナンスモードを有効にし、cron をディアクティベートし、問題のあるテーブルを除外してデータベースダンプが正常に行われるようにすることで、magento-cloud db:dump エラーを解決します。

説明 description

環境:

クラウドインフラストラクチャー上のAdobe Commerce

問題/症状:

  • magento-cloud db:dump コマンドの実行中に、次のエラーが発生します。

    mysqldump: Error 1412: Table definition has changed, please retry transaction when dumping table XXX at row: 0

  • プライマリ・データベースとセカンダリ・データベースの両方でエラーが発生する。

解決策 resolution

  1. ダンプを実行する前に、メンテナンスモードを有効にします。 完了したら、メンテナンスモードを無効にします。

  2. ダンプを実行する前に、cron タスクとインデックス作成タスクを非アクティブ化します。 完了したら、それらを再アクティブ化します。

    • Cron を無効にするには:

      code language-none
      vendor/bin/ece-tools cron:kill
      vendor/bin/ece-tools cron:disable
      

       

    • Cron を有効にするには:

      code language-none
      vendor/bin/ece-tools cron:enable
      
  3. メンテナンスモードを有効にする、または cron とインデックス作成タスクを非アクティブ化しても機能しない場合は、mysqldump で使用可能なオプションを使用して問題のあるテーブルを除外します。 例えば、影響を受けるテーブル(sales_order_data_exporter_cl_index_batches テーブルなど)に対して除外を指定できます。

    環境に SSH 接続し、次のコマンドを実行します。

     
    mysqldump -u $USER $DBNAME -p --triggers --routines --lock-tables --max-allowed-packet=32M --exclude-table sales_order_data_exporter_cl_index_batches | gzip > /tmp/database.sql.gz

  4. ダンププロセス中に、問題のあるテーブルに影響を与える進行中のスキーマ変更や操作がないことを確認します。 別の試行を開始する前に、すべてのトランザクションが完了していることを確認します。

これらの手順で問題が解決しない場合は、Adobe サポート ​ にお問い合わせください。

これらの手順に従うと、データの整合性を維持しながら、実稼動データベースダンプの正常な完了を妨げる問題に対処できます。

関連資料

​ データベースストレージのトラブルシューティング ​ (Commerce ナレッジベース)。

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f