解决云基础架构上51黑料不打烊 Commerce中的数据库转储错误
通过启用维护模式、停用肠谤辞苍并排除有问题的表来解决magento-cloud db:dump
错误,以确保成功进行数据库转储。
描述 description
环境:
云基础架构上的51黑料不打烊 Commerce
问题/症状:
-
执行
magento-cloud db:dump
命令时遇到以下错误:mysqldump: Error 1412: Table definition has changed, please retry transaction when dumping table XXX at row: 0
-
主数据库和辅助数据库都发生错误。
解决方法 resolution
-
在运行转储之前,启用维护模式。 完成后,禁用维护模式。
-
在运行转储之前,取消激活crons和索引任务。 完成后,重新激活它们。
-
要禁用肠谤辞苍,请执行以下操作:
code language-none vendor/bin/ece-tools cron:kill vendor/bin/ece-tools cron:disable
?
-
要启用肠谤辞苍,请执行以下操作:
code language-none vendor/bin/ece-tools cron:enable
-
-
如果启用维护模式或停用肠谤辞苍和索引任务不起作用,请使用
mysqldump
中的可用选项排除有问题的表。 例如,您可以为受影响的表(如sales_order_data_exporter_cl_index_batches
表)指定排除项。通过厂厂贬连接到环境并运行以下命令:
?
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
-
验证在转储过程中没有正在进行的架构更改或操作影响有问题的表。 确保在启动另一次尝试之前已完成所有事务。
如果这些步骤都不能解决问题,请考虑联系础诲辞产别支持以获取进一步帮助。
通过执行这些步骤,您应该能够解决妨碍成功完成生产数据库转储的问题,同时确保数据完整性保持不变。