From eb79f4c1694a421fd2fe412acc1a960d0a5f230b Mon Sep 17 00:00:00 2001 From: Jamie Cameron Date: Wed, 12 Jul 2023 16:55:03 -0700 Subject: [PATCH] Add config option to force use of some authentication plugin --- mysql/config.info | 1 + mysql/mysql-lib.pl | 17 +++++++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/mysql/config.info b/mysql/config.info index 417fdeb29..17a6c4a24 100644 --- a/mysql/config.info +++ b/mysql/config.info @@ -12,6 +12,7 @@ encoding=Encoding for database content,3,Default (from current language) max_dbs=Maximum number of databases and tables, indexes and views to display,0,5 max_text=Maximum display length for text fields,3,Unlimited charset=Character set for MySQL data,15,charset +auth_plugin=Force use of authentication plugin,3,System default line2=System configuration,11 mysqlshow=Path to mysqlshow command,0 mysqladmin=Path to mysqladmin command,0 diff --git a/mysql/mysql-lib.pl b/mysql/mysql-lib.pl index 2008779d8..498dd9cfc 100755 --- a/mysql/mysql-lib.pl +++ b/mysql/mysql-lib.pl @@ -1620,13 +1620,18 @@ return $sql; sub get_mysql_plugin { my ($query) = @_; -my @plugin = &execute_sql($master_db, - "show variables LIKE '%default_authentication_plugin%'"); -my $plugin = $plugin[0]->{'data'}->[0]->[1]; -if ($plugin && $query) { - $plugin = " with $plugin "; +if ($config{'auth_plugin'}) { + return " with $config{'auth_plugin'}"; + } +else { + my @plugin = &execute_sql($master_db, + "show variables LIKE '%default_authentication_plugin%'"); + my $plugin = $plugin[0]->{'data'}->[0]->[1]; + if ($plugin && $query) { + $plugin = " with $plugin "; + } + return $plugin; } -return $plugin; } # perms_column_to_privilege_map(col)