"MySQL server has gone away" error when making backup

Re: "MySQL server has gone away" error when making backup

by Kevin Wiliarty -
Number of replies: 4

In some cases when I have encountered this error increasing the `max_allowed_packet` size in `my.cnf` has made the difference. There's information about this -- although in reference to a dmlwriteexception -- as well as a suggestion to check the file format for InnoDB tables at:

https://docs.moodle.org/27/en/error/moodle/dmlwriteexception

Average of ratings: Useful (1)
In reply to Kevin Wiliarty

Odg: Re: "MySQL server has gone away" error when making backup

by Miha Osojnik -

Thanks for your fast and sorry for my late response (too much to do and too little time).

Your sugestion and this one https://moodle.org/mod/forum/discuss.php?d=273400 helped us to find a solution.

In reply to Miha Osojnik

Re: Odg: Re: "MySQL server has gone away" error when making backup

by Ben Laor -
Can you share the specific solution you used? i'm having the same problem and can't seem to fix it
In reply to Ben Laor

Re: Odg: Re: "MySQL server has gone away" error when making backup

by Ben Laor -

After trying all the offered solutions (increasing max_allowed_packet, adding $CFG->dbsessions='false', and updating all tables to Barracuda) The solution was found by going through the course's units and deleting them one by one until we could perform a backup, and we found the problematic content (probably was corrupted).
Not the fastest solution but the best in lack of a better one.

In reply to Kevin Wiliarty

Re: "MySQL server has gone away" error when making backup

by Brett Baker -

Hi Kevin I Increased both max_allowed_packet and the execution in php ini but seem to still have the problem any furthur ideas as this is not allowing me to backup a specific  course other courses backup fine but are smaller?

Debug info: MySQL server has gone away
SELECT COUNT(*)
FROM mdl_backup_ids_temp b
JOIN mdl_user u ON u.id = b.itemid
WHERE b.backupid = ?
AND b.itemname = 'userfinal'
AND u.mnethostid != ?
[array (
0 => 'a80f890aab0733d54ebcaac460f2643f',
1 => '1',
)]
Error code: dmlreadexception
Stack trace:
  • line 474 of /lib/dml/moodle_database.php: dml_read_exception thrown
  • line 1088 of /lib/dml/mysqli_native_moodle_database.php: call to moodle_database->query_end()
  • line 1527 of /lib/dml/moodle_database.php: call to mysqli_native_moodle_database->get_records_sql()
  • line 1600 of /lib/dml/moodle_database.php: call to moodle_database->get_record_sql()
  • line 1810 of /lib/dml/moodle_database.php: call to moodle_database->get_field_sql()
  • line 471 of /backup/util/dbops/backup_controller_dbops.class.php: call to moodle_database->count_records_sql()
  • line 1771 of /backup/moodle2/backup_stepslib.php: call to backup_controller_dbops::backup_includes_mnet_remote_users()
  • line 88 of /backup/util/plan/backup_structure_step.class.php: call to backup_main_structure_step->define_structure()
  • line 181 of /backup/util/plan/base_task.class.php: call to backup_structure_step->execute()
  • line 177 of /backup/util/plan/base_plan.class.php: call to base_task->execute()
  • line 120 of /backup/util/plan/backup_plan.class.php: call to base_plan->execute()
  • line 322 of /backup/controller/backup_controller.class.php: call to backup_plan->execute()
  • line 136 of /backup/util/ui/backup_ui.class.php: call to backup_controller->execute_plan()
  • line 131 of /backup/backup.php: call to backup_ui->execute()