mirror of
https://github.com/MariaDB/server.git
synced 2025-01-29 02:05:57 +01:00
MDEV-29110 mariabackup has wrong or missing plugin-dir default?
Problem: The file backup-my.cnf from the backup directory was loaded by "mariabackup --prepare" only in case of the explicit --target-dir given. It was not loaded from the default directory ./xtrabackup_backupfiles/ in case if the explicit --target-dir was missing. In other words, it worked as follows: 1. When started as "mariabackup --prepare --target-dir=DIR", mariabackup: a. loads defaults from "DIR/backup-my.cnf" b. processes data files in the specified directory DIR 2. When started as "mariabackup --prepare", mariabackup: a. does not load defaults from "./xtrabackup_backupfiles/backup-my.cnf" b. processes data files in the default directory "./xtrabackup_backupfiles/" This patch fixes the second scenario, so it works as follows: 2. When started as "mariabackup --prepare", mariabackup: a. loads defaults from "./xtrabackup_backupfiles/backup-my.cnf" b. processes data files in the default directory "./xtrabackup_backupfiles/" This change fixes (among others) the problem with the "Can't open shared library '/file_key_management.so'" error reported when "mariabackup --prepare" is used without --target-dir in combinaton with the encryption plugin.
This commit is contained in:
parent
2b6d241ee4
commit
62d80652be
1 changed files with 5 additions and 3 deletions
|
@ -122,7 +122,8 @@ int sd_notifyf() { return 0; }
|
|||
int sys_var_init();
|
||||
|
||||
/* === xtrabackup specific options === */
|
||||
char xtrabackup_real_target_dir[FN_REFLEN] = "./xtrabackup_backupfiles/";
|
||||
#define DEFAULT_TARGET_DIR "./xtrabackup_backupfiles/"
|
||||
char xtrabackup_real_target_dir[FN_REFLEN] = DEFAULT_TARGET_DIR;
|
||||
char *xtrabackup_target_dir= xtrabackup_real_target_dir;
|
||||
static my_bool xtrabackup_version;
|
||||
static my_bool verbose;
|
||||
|
@ -6756,9 +6757,10 @@ void handle_options(int argc, char **argv, char ***argv_server,
|
|||
server_default_groups.push_back(NULL);
|
||||
snprintf(conf_file, sizeof(conf_file), "my");
|
||||
|
||||
if (prepare && target_dir) {
|
||||
if (prepare) {
|
||||
snprintf(conf_file, sizeof(conf_file),
|
||||
"%s/backup-my.cnf", target_dir);
|
||||
"%s/backup-my.cnf", target_dir ? target_dir:
|
||||
DEFAULT_TARGET_DIR);
|
||||
if (!strncmp(argv[1], "--defaults-file=", 16)) {
|
||||
/* Remove defaults-file*/
|
||||
for (int i = 2; ; i++) {
|
||||
|
|
Loading…
Add table
Reference in a new issue