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

              Assignee:
              vlad.lesin Vladislav Lesin
              Reporter:
              elenst Elena Stepanova
              Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated: