Specifying MySQL Processing Settings

You can enable MySQL processing settings in the properties of a volume-level backup job configured in Veeam Agent for Linux.

IMPORTANT

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.

To enable MySQL processing settings for the backup job, use the following command:  

veeamconfig aap set mysql --jobid <job_id> <mysql_options>

or

veeamconfig aap set mysql --jobname <job_name> <mysql_options>

where:

  • <job_id> — ID of the backup job for which you want to enable MySQL processing settings. You should look up the job ID in advance, before configuring MySQL processing settings, for example, with the veeamconfig job list command. To learn more, see Viewing List of Backup Jobs.
  • <job_name> — name of the backup job for which you want to enable MySQL processing settings.

 

TIP

To view IDs or names of all existent backup jobs, you can press the [Tab] key right after you type the --jobid or --jobname option.

MySQL Processing Settings

You can specify the following MySQL processing settings for the backup job:

Option

Description and values

--tryprocess

Defines that Veeam Agent must continue the backup process if errors occur when processing the MySQL database system. If you do not specify this option, Veeam Agent will stop the backup process if an error occurs when processing the MySQL database system.

--usrmysqldb

Name of the MySQL account. Veeam Agent can connect to the MySQL database system in one of the following ways:

  • If you specify account name (--usrmysqidb option) only, Veeam Agent will prompt you to specify a password to access the MySQL database system.
  • If you specify account name and password (--usrmysqidb and --password options), Veeam Agent will access the MySQL database system.
  • If you do not specify account credentials (--usrmysqidb and --password options), Veeam Agent will use a password file to connect to the MySQL database system. To learn more about password file configuration, see Preparing Password File for MySQL Processing.

--password

Password of the MySQL account. If you do not specify the --password value, Veeam Agent will prompt you to specify a password to access the MySQL database.

Keep in mind, if you specify the password using the --password option, password is stored in terminal in plain text.

--defaults-file

Path to a password file. You must specify a full path to a password file if you want Veeam Agent to use a password file located in specific directory. Specifying relative paths is not supported.

With this method selected, you do not need to specify account credentials in the backup job settings.

You do not need this option in the following cases:

  • Veeam Agent uses account name and password that are specified in the backup job settings to connect to the MySQL database.
  • Veeam Agent uses account credentials that are stored in the password file in /root/.my.cnf.

 

Examples

Authentication with password:

user@srv01:~$ veeamconfig aap set mysql --jobid 29bc2e1a-e35c-4efb-8d37-b7177b8ea75 --tryprocess --usrmysqidb root --password P@ssw0rd

Authentication with password file:

user@srv01:~$ veeamconfig aap set mysql --jobid 29bc2e1a-e35c-4efb-8d37-b7177b8ea75 --tryprocess
--defaults-file /data/root/.my.cnf --password P@ssw0rd