-
Shishir Jaiswal authored
KEYRING_FILE_DATA OPTION DESCRIPTION =========== Initializing datadir with the keyring_file_data option fails with the following error: [ERROR] unknown variable 'keyring_file_data={path}/keyring' ANALYSIS ======== From MySQL 5.7.12 onwards, the default --early-plugin-load value is empty thus we must provide with some nonempty value to it. One of the uses of this option is to load the keyring_file plugin, where we provide some value to it (for e.g. 'keyring_file=keyring_file.so'). However doing so currently while initializing a datadir is denied! Reason being when server is invoked for initialization of datadir, the variable 'bootstrap' in 5.7 (and 'opt_initialize' in trunk) value is 1. The same is read in plugin_init() in 5.7 [and in plugin_register_early_plugins() in trunk] and in such a case we currently skip the registration of early plugins. As a result of which its not added in the list of plugins to be loaded early and on encountering this plugin, the server throws the reported error. FIX === Removed the check for variable 'bootstrap' in 5.7 (and var 'opt_initialize' in trunk) so now registration of early plugin is done always and hence the loading of plugins etc. is done as usual.
Shishir Jaiswal authoredKEYRING_FILE_DATA OPTION DESCRIPTION =========== Initializing datadir with the keyring_file_data option fails with the following error: [ERROR] unknown variable 'keyring_file_data={path}/keyring' ANALYSIS ======== From MySQL 5.7.12 onwards, the default --early-plugin-load value is empty thus we must provide with some nonempty value to it. One of the uses of this option is to load the keyring_file plugin, where we provide some value to it (for e.g. 'keyring_file=keyring_file.so'). However doing so currently while initializing a datadir is denied! Reason being when server is invoked for initialization of datadir, the variable 'bootstrap' in 5.7 (and 'opt_initialize' in trunk) value is 1. The same is read in plugin_init() in 5.7 [and in plugin_register_early_plugins() in trunk] and in such a case we currently skip the registration of early plugins. As a result of which its not added in the list of plugins to be loaded early and on encountering this plugin, the server throws the reported error. FIX === Removed the check for variable 'bootstrap' in 5.7 (and var 'opt_initialize' in trunk) so now registration of early plugin is done always and hence the loading of plugins etc. is done as usual.
Loading