Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-23116

mariabackup doesn't recognize encryption options provided on the command line

    XMLWordPrintable

Details

    Description

      Till recently (I assume until MDEV-18215) one could override encryption options specified in the generated cnf file from the command line. It is convenient, for example, when you move the backup between hosts or environments, and paths change. It could look like this (notice file-key-management-filename treatment):

      10.4 9d479e25

      $ /data/bld/10.4-debug/bin/mariabackup --prepare --use-memory=1073741824  --innodb-file-io-threads=1 --target-dir=`pwd`/mdev23115/backup_before_prepare_0 --file-key-management-filename=`pwd`/mysql-test/std_data/keys.txt --plugin-dir=`pwd`/lib/plugin
      Warning: option 'innodb_file_io_threads': signed value 1 adjusted to 4
      /data/bld/10.4-debug/bin/mariabackup based on MariaDB server 10.4.14-MariaDB Linux (x86_64)
      [00] 2020-07-07 21:13:56 cd to /data/bld/10.5-debug-nightly/mdev23115/backup_before_prepare_0/
      [00] 2020-07-07 21:13:56 Loading encryption plugin from file_key_management=file_key_management
      [00] 2020-07-07 21:13:56 Loading encryption plugin
      [00] 2020-07-07 21:13:56 	 Encryption plugin parameter :  '--plugin_load=file_key_management=file_key_management'
      [00] 2020-07-07 21:13:56 	 Encryption plugin parameter :  '--file_key_management_encryption_algorithm=aes_cbc'
      [00] 2020-07-07 21:13:56 	 Encryption plugin parameter :  '--file_key_management_filekey='
      [00] 2020-07-07 21:13:56 	 Encryption plugin parameter :  '--file_key_management_filename=/xxhome/mdbe/data/file_key_management_keys.txt'
      [00] 2020-07-07 21:13:56 	 Encryption plugin parameter :  '--innodb_encrypt_log=1'
      [00] 2020-07-07 21:13:56 	 Encryption plugin parameter :  '--prepare'
      [00] 2020-07-07 21:13:56 	 Encryption plugin parameter :  '--use-memory=1073741824'
      [00] 2020-07-07 21:13:56 	 Encryption plugin parameter :  '--target-dir=/data/bld/10.5-debug-nightly/mdev23115/backup_before_prepare_0'
      [00] 2020-07-07 21:13:56 	 Encryption plugin parameter :  '--file-key-management-filename=/data/bld/10.5-debug-nightly/mysql-test/std_data/keys.txt'
      ...
      [00] 2020-07-07 21:13:58 completed OK!
      

      Now I don't seem to be able to do it anymore.
      If I try to put it on the command line as a "regular" mariabackup option, it rejects it:

      10.5 ee584137

      $ /data/bld/10.5-debug-nightly/bin/mariabackup --prepare --use-memory=1073741824  --innodb-file-io-threads=1 --target-dir=`pwd`/mdev23115/backup_before_prepare_0 --file-key-management-filename=`pwd`/mysql-test/std_data/keys.txt --plugin-dir=`pwd`/lib/plugin
      Warning: option 'innodb_file_io_threads': signed value 1 adjusted to 4
      Warning: option 'innodb_file_io_threads': signed value 1 adjusted to 4
      /data/bld/10.5-debug-nightly/bin/mariabackup: unknown variable 'file-key-management-filename=/data/bld/10.5-debug-nightly/mysql-test/std_data/keys.txt'
      

      And if I put it after mysqld-args, it gets ignored and the one from the cnf file is still used:

      $ /data/bld/10.5-debug-nightly/bin/mariabackup --prepare --use-memory=1073741824  --innodb-file-io-threads=1 --target-dir=`pwd`/mdev23115/backup_before_prepare_0 --plugin-dir=`pwd`/lib/plugin --mysqld-args --file-key-management-filename=`pwd`/mysql-test/std_data/keys.txt 
      Warning: option 'innodb_file_io_threads': signed value 1 adjusted to 4
      Warning: option 'innodb_file_io_threads': signed value 1 adjusted to 4
      /data/bld/10.5-debug-nightly/bin/mariabackup based on MariaDB server 10.5.5-MariaDB Linux (x86_64)
      [00] 2020-07-07 21:22:15 cd to /data/bld/10.5-debug-nightly/mdev23115/backup_before_prepare_0/
      [00] 2020-07-07 21:22:15 Loading encryption plugin from file_key_management=file_key_management
      [00] 2020-07-07 21:22:15 Loading encryption plugin
      [00] 2020-07-07 21:22:15 	 Encryption plugin parameter :  '--plugin_load=file_key_management=file_key_management'
      [00] 2020-07-07 21:22:15 	 Encryption plugin parameter :  '--file_key_management_encryption_algorithm=aes_cbc'
      [00] 2020-07-07 21:22:15 	 Encryption plugin parameter :  '--file_key_management_filekey='
      [00] 2020-07-07 21:22:15 	 Encryption plugin parameter :  '--file_key_management_filename=/xxhome/mdbe/data/file_key_management_keys.txt'
      [00] 2020-07-07 21:22:15 	 Encryption plugin parameter :  '--innodb_encrypt_log=1'
      [00] 2020-07-07 21:22:15 	 Encryption plugin parameter :  '--prepare'
      [00] 2020-07-07 21:22:15 	 Encryption plugin parameter :  '--use-memory=1073741824'
      [00] 2020-07-07 21:22:15 	 Encryption plugin parameter :  '--target-dir=/data/bld/10.5-debug-nightly/mdev23115/backup_before_prepare_0'
      /data/bld/10.5-debug-nightly/bin/mariabackup: Can't find file: '/xxhome/mdbe/data/file_key_management_keys.txt' (errno: 2 "No such file or directory")
      

      Attachments

        Issue Links

          Activity

            People

              vlad.lesin Vladislav Lesin
              elenst Elena Stepanova
              Votes:
              3 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.