This section describes low-level backup techniques that are
intended for expert users. You can use the
mysqlbackup command to automate the
procedure presented in this section, as described in
Chapter 7, mysqlbackup Command Reference.
You can use the ibbackup option
--suspend-at-end to make a point-in-time
backup of tables from MyISAM and other storage engines, in
addition to InnoDB tables. This option pauses the backup process
when an ibbackup run is close to ending, so
that a script written by you can copy the MyISAM tables and
other non-InnoDB files to a backup. Since the backup taken by
ibbackup corresponds to the time at the end
of the run, and your script blocks modifications to the MyISAM
tables at that point, the backup contains a snapshot of MyISAM
tables at the same point in time. Your script must follow this
outline:
Issue the command ibbackup
--suspend-at-end ...;
Periodically check for the existence of the file
ibbackup_suspended. When this file
appears, your script must:
Issue the statement FLUSH TABLES WITH READ
LOCK;
Manually copy all .frm files, MyISAM
tables, and other non-InnoDB files from database
directories to a backup location.
Resume the ibbackup run by deleting
the file ibbackup_suspended.
Wait until the ibbackup command
finishes.
Issue the statement UNLOCK TABLES;.