You can use Veeam Agent for Linux to create transactionally consistent backups of Veeam Agent machines that run the MySQL database system.
Requirements and Limitations of MySQL Processing
- Veeam Agent for Linux supports processing of MySQL database systems version 5.7 – 8.2.
- Configurations with multiple MySQL installations and/or instances on the same machine are not supported.
- MySQL Cluster versions are not supported.
- MySQL tables that use the MyISAM storage engine must be locked to keep them in consistent state while Veeam Agent is creating the system snapshot. To correctly process such tables, MySQL account must have the following instance-wide privileges:
- SELECT. This privilege enables Veeam Agent to access tables' metadata and select for a lock the tables that use the MyISAM storage engine. Without this privilege, the processing of the MySQL database system will run successfully but MyISAM tables will not be locked, which may result in an inconsistent state of the backed up data.
- LOCK TABLES. This privilege is required for locking the selected MyISAM tables. If some MyISAM tables are selected but the MySQL account does not have the LOCK TABLES privilege, the processing of the MySQL database system will fail.
- RELOAD or FLUSH_TABLES. If some MyISAM tables are selected but the MySQL account does not have either RELOAD or FLUSH_TABLES privilege, the processing of the MySQL database system will fail.
To obtain information about the privileges that are assigned to an account, use MySQL functionality, for example, the SHOW GRANTS statement. To learn more, see MySQL documentation.
Veeam Agent for Linux can connect to the MySQL database system using one of the following methods:
- Password — Veeam Agent uses the MySQL account credentials that you specify in the backup job settings.
- Password file — Veeam Agent uses the MySQL account credentials that are stored in the .my.cnf password file. To learn more about password file configuration, see Preparing Password File for MySQL Processing.
How MySQL Processing Works
To ensure that the backed-up data is in the consistent state, Veeam Agent for Linux performs the MySQL database system processing. To process the database system, Veeam Agent performs the following operations:
- When the backup job starts, Veeam Agent connects to the MySQL database system and obtains the list of tables.
- Veeam Agent locks the base tables that use the MyISAM storage engine. Veeam Agent changes the table state using the MySQL functionality. Tables that use the InnoDB storage engine do not require locking.
Keep in mind that Veeam Agent supports processing of tables based on the MyISAM and InnoDB storage engines only. Veeam Agent does not support tables that use other storage engines.
- Veeam Agent creates a snapshot of the volume.
- Veeam Agent unlocks tables locked at Step 2.
After Veeam Agent unlocks tables, Veeam Agent proceeds to the next step of the backup process. To learn more, see How Backup Works.