diff --git a/mysql-test/main/failed_auth_unixsocket.result b/mysql-test/main/failed_auth_unixsocket.result index 32357a5a7a9..7e8b8fe70b9 100644 --- a/mysql-test/main/failed_auth_unixsocket.result +++ b/mysql-test/main/failed_auth_unixsocket.result @@ -1,7 +1,10 @@ -update mysql.global_priv set priv=json_insert(priv, '$.plugin', 'unix_socket') where user='root'; +create table global_priv_backup select * from mysql.global_priv; +update mysql.global_priv set priv=json_insert(priv, '$.plugin', 'unix_socket'); +delete from mysql.global_priv where user != 'root'; flush privileges; connect(localhost,USER,,test,MASTER_PORT,MASTER_SOCKET); ERROR 28000: Access denied for user 'USER'@'localhost' ERROR 28000: Access denied for user 'USER'@'localhost' -update mysql.global_priv set priv=json_compact(json_remove(priv, '$.plugin')) where user='root'; +replace mysql.global_priv select * from global_priv_backup; flush privileges; +drop table global_priv_backup; diff --git a/mysql-test/main/failed_auth_unixsocket.test b/mysql-test/main/failed_auth_unixsocket.test index e163a0c230f..fe80d947036 100644 --- a/mysql-test/main/failed_auth_unixsocket.test +++ b/mysql-test/main/failed_auth_unixsocket.test @@ -4,7 +4,9 @@ # MDEV-3909 remote user enumeration # unix_socket tests # -update mysql.global_priv set priv=json_insert(priv, '$.plugin', 'unix_socket') where user='root'; +create table global_priv_backup select * from mysql.global_priv; +update mysql.global_priv set priv=json_insert(priv, '$.plugin', 'unix_socket'); +delete from mysql.global_priv where user != 'root'; flush privileges; # Make sure that the replace works, even if $USER is 'user' or something else @@ -22,5 +24,6 @@ connect (fail,localhost,$USER); --error ER_ACCESS_DENIED_NO_PASSWORD_ERROR change_user $USER; -update mysql.global_priv set priv=json_compact(json_remove(priv, '$.plugin')) where user='root'; +replace mysql.global_priv select * from global_priv_backup; flush privileges; +drop table global_priv_backup;