Azure Database for MySQL サーバーに接続された Moodle 3.8.4 を使用しています。アクティビティを右クリックし、[編集] → [複製] を選択して、アクティビティを複製しようとしています。
デバッグ モードを DEVELOPER に設定すると、次のエラー メッセージが表示されます。
> Unknown table 'learn_nprod.mdl_backup_ids_temp'
DROP TABLE mdl_backup_ids_temp
Error code: ddlexecuteerror
* line 492 of /lib/dml/moodle_database.php: ddl_change_structure_exception thrown
* line 1072 of /lib/dml/mysqli_native_moodle_database.php: call to moodle_database->query_end()
* line 77 of /lib/ddl/database_manager.php: call to mysqli_native_moodle_database->change_database_structure()
* line 332 of /lib/ddl/database_manager.php: call to database_manager->execute_sql_arr()
* line 171 of /backup/util/dbops/backup_controller_dbops.class.php: call to database_manager->drop_table()
* line 40 of /backup/moodle2/backup_stepslib.php: call to backup_controller_dbops::drop_backup_ids_temp_table()
* line 34 of /backup/util/plan/backup_execution_step.class.php: call to create_and_clean_temp_stuff->define_execution()
* line 181 of /backup/util/plan/base_task.class.php: call to backup_execution_step->execute()
* line 178 of /backup/util/plan/base_plan.class.php: call to base_task->execute()
* line 119 of /backup/util/plan/backup_plan.class.php: call to base_plan->execute()
* line 375 of /backup/controller/backup_controller.class.php: call to backup_plan->execute()
* line 3530 of /course/lib.php: call to backup_controller->execute_plan()
* line 3518 of /course/externallib.php: call to duplicate_module()
* line 250 of /lib/externallib.php: call to core_course_external::edit_module()
* line 79 of /lib/ajax/service.php: call to external_api::call_external_function()
また、バックアップ ジョブが 0% に凍結されていることもわかりました。
Azure MySQL では、値を次のように変更しました。
wait_timeout = 440、max_heap_table_size = 16777216、tmp_table_size = 16777216、innodb_strict_mode = オン
に:
wait_timeout = 3600、max_heap_table_size = 2147483648、tmp_table_size = 536870912、innodb_strict_mode = オフ
Azure MySQL サーバーを再起動しました。このアクションは、私の問題を数分間だけ解決しました。このエラーを回避するための提案はありますか?
MySQL の設定はこのリンクにあります。
更新:私はこのソリューションに従いましたが、実際には一時テーブルを使用していませんが、なぜこれが起こっているのか、またDBに影響があるのか わかりません。