Opened 5 years ago

Closed 5 years ago

#13471 closed Bug Report - General (Won't Fix)

mythconverg_backup should skip recordedseek table to avoid breaking recordings.

Reported by: Brian Brunswick Owned by: sphery
Priority: minor Milestone: 30.0
Component: Contributed Scripts & Apps Version: Unspecified
Severity: medium Keywords:
Cc: Ticket locked: no

Description

On my system (130 million entries in recordedseek table), mysqldump takes 20 minutes with all database access blocked which stops recordings starting on time.

Since recordedseek can be easily (if slowly) regenerated, can we please just add --ignore-table='$safe_db_name'.recordedseek to the mysqldump line, and perhaps supply a handy script to regenerate it. For me this makes the backup take 20 seconds instead, which is an acceptable length of time to block the database.

Change History (1)

comment:1 Changed 5 years ago by sphery

Component: MythTV - GeneralContributed Scripts & Apps
Milestone: needs_triage30.0
Owner: set to sphery
Resolution: Won't Fix
Status: newclosed

The mythconverg_backup.pl script is meant to be used as a general-purpose backup script for the MythTV database. It is often used to backup a database before transferring it to a newly-built system or before restoring it to a system that's upgraded to a new OS version, not just for last-ditch, "I lost everything but am prepared for days of rebuilding work" scenarios. Therefore it is designed to get as much of the information as possible from the existing database.

Note, too, that any backup of the MythTV system should be performed when the MythTV system is shut down (all backends, all frontends, and all other clients), and performing backups while anything is modifying the database are highly discouraged (and the end result is suspect). Users performing backups while the system is running should, at minimum, do their best to schedule the backup when the MythTV system is as idle as possible (not recording and, as much as possible, not modifying anything in the database).

If you want to skip the recordedseek table backup on your system's backups, you may do so by specifying the --ignore-table option in a MySQL Option File--ideally one that's only used for that backup run, but at most, in a user-specific options file. See https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html#mysqldump-option-summary and https://dev.mysql.com/doc/refman/5.7/en/option-files.html for more details.

Note: See TracTickets for help on using tickets.