mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
MDEV-16238 root/localhost authn prioritizes authentication_string over Password
Don't let SET PASSWORD to set the password, if auth_string is set. Now SET PASSWORD always sets the plugin/auth_string fields and clears the password field (on pre-plugin mysql.user table it works as before).
This commit is contained in:
@@ -480,72 +480,72 @@ SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
|
||||
|
||||
******************** CREATE USER ********************
|
||||
CREATE USER 'user_test_rpl'@'localhost' IDENTIFIED BY PASSWORD '*1111111111111111111111111111111111111111';
|
||||
SELECT host, user, password, select_priv FROM mysql.user WHERE user LIKE 'user_test_rpl%';
|
||||
host user password select_priv
|
||||
localhost user_test_rpl *1111111111111111111111111111111111111111 N
|
||||
SELECT host, user, password, plugin, authentication_string, select_priv FROM mysql.user WHERE user LIKE 'user_test_rpl%';
|
||||
host user password plugin authentication_string select_priv
|
||||
localhost user_test_rpl *1111111111111111111111111111111111111111 N
|
||||
connection slave;
|
||||
USE test_rpl;
|
||||
SELECT host, user, password, select_priv FROM mysql.user WHERE user LIKE 'user_test_rpl%';
|
||||
host user password select_priv
|
||||
localhost user_test_rpl *1111111111111111111111111111111111111111 N
|
||||
SELECT host, user, password, plugin, authentication_string, select_priv FROM mysql.user WHERE user LIKE 'user_test_rpl%';
|
||||
host user password plugin authentication_string select_priv
|
||||
localhost user_test_rpl *1111111111111111111111111111111111111111 N
|
||||
connection master;
|
||||
|
||||
******************** GRANT ********************
|
||||
GRANT SELECT ON *.* TO 'user_test_rpl'@'localhost';
|
||||
SELECT host, user, password, select_priv FROM mysql.user WHERE user LIKE 'user_test_rpl%';
|
||||
host user password select_priv
|
||||
localhost user_test_rpl *1111111111111111111111111111111111111111 Y
|
||||
SELECT host, user, password, plugin, authentication_string, select_priv FROM mysql.user WHERE user LIKE 'user_test_rpl%';
|
||||
host user password plugin authentication_string select_priv
|
||||
localhost user_test_rpl *1111111111111111111111111111111111111111 Y
|
||||
connection slave;
|
||||
USE test_rpl;
|
||||
SELECT host, user, password, select_priv FROM mysql.user WHERE user LIKE 'user_test_rpl%';
|
||||
host user password select_priv
|
||||
localhost user_test_rpl *1111111111111111111111111111111111111111 Y
|
||||
SELECT host, user, password, plugin, authentication_string, select_priv FROM mysql.user WHERE user LIKE 'user_test_rpl%';
|
||||
host user password plugin authentication_string select_priv
|
||||
localhost user_test_rpl *1111111111111111111111111111111111111111 Y
|
||||
connection master;
|
||||
|
||||
******************** REVOKE ********************
|
||||
REVOKE SELECT ON *.* FROM 'user_test_rpl'@'localhost';
|
||||
SELECT host, user, password, select_priv FROM mysql.user WHERE user LIKE 'user_test_rpl%';
|
||||
host user password select_priv
|
||||
localhost user_test_rpl *1111111111111111111111111111111111111111 N
|
||||
SELECT host, user, password, plugin, authentication_string, select_priv FROM mysql.user WHERE user LIKE 'user_test_rpl%';
|
||||
host user password plugin authentication_string select_priv
|
||||
localhost user_test_rpl *1111111111111111111111111111111111111111 N
|
||||
connection slave;
|
||||
USE test_rpl;
|
||||
SELECT host, user, password, select_priv FROM mysql.user WHERE user LIKE 'user_test_rpl%';
|
||||
host user password select_priv
|
||||
localhost user_test_rpl *1111111111111111111111111111111111111111 N
|
||||
SELECT host, user, password, plugin, authentication_string, select_priv FROM mysql.user WHERE user LIKE 'user_test_rpl%';
|
||||
host user password plugin authentication_string select_priv
|
||||
localhost user_test_rpl *1111111111111111111111111111111111111111 N
|
||||
connection master;
|
||||
|
||||
******************** SET PASSWORD ********************
|
||||
SET PASSWORD FOR 'user_test_rpl'@'localhost' = '*0000000000000000000000000000000000000000';
|
||||
SELECT host, user, password, select_priv FROM mysql.user WHERE user LIKE 'user_test_rpl%';
|
||||
host user password select_priv
|
||||
localhost user_test_rpl *0000000000000000000000000000000000000000 N
|
||||
SELECT host, user, password, plugin, authentication_string, select_priv FROM mysql.user WHERE user LIKE 'user_test_rpl%';
|
||||
host user password plugin authentication_string select_priv
|
||||
localhost user_test_rpl mysql_native_password *0000000000000000000000000000000000000000 N
|
||||
connection slave;
|
||||
USE test_rpl;
|
||||
SELECT host, user, password, select_priv FROM mysql.user WHERE user LIKE 'user_test_rpl%';
|
||||
host user password select_priv
|
||||
localhost user_test_rpl *0000000000000000000000000000000000000000 N
|
||||
SELECT host, user, password, plugin, authentication_string, select_priv FROM mysql.user WHERE user LIKE 'user_test_rpl%';
|
||||
host user password plugin authentication_string select_priv
|
||||
localhost user_test_rpl mysql_native_password *0000000000000000000000000000000000000000 N
|
||||
connection master;
|
||||
|
||||
******************** RENAME USER ********************
|
||||
RENAME USER 'user_test_rpl'@'localhost' TO 'user_test_rpl_2'@'localhost';
|
||||
SELECT host, user, password, select_priv FROM mysql.user WHERE user LIKE 'user_test_rpl%';
|
||||
host user password select_priv
|
||||
localhost user_test_rpl_2 *0000000000000000000000000000000000000000 N
|
||||
SELECT host, user, password, plugin, authentication_string, select_priv FROM mysql.user WHERE user LIKE 'user_test_rpl%';
|
||||
host user password plugin authentication_string select_priv
|
||||
localhost user_test_rpl_2 mysql_native_password *0000000000000000000000000000000000000000 N
|
||||
connection slave;
|
||||
USE test_rpl;
|
||||
SELECT host, user, password, select_priv FROM mysql.user WHERE user LIKE 'user_test_rpl%';
|
||||
host user password select_priv
|
||||
localhost user_test_rpl_2 *0000000000000000000000000000000000000000 N
|
||||
SELECT host, user, password, plugin, authentication_string, select_priv FROM mysql.user WHERE user LIKE 'user_test_rpl%';
|
||||
host user password plugin authentication_string select_priv
|
||||
localhost user_test_rpl_2 mysql_native_password *0000000000000000000000000000000000000000 N
|
||||
connection master;
|
||||
|
||||
******************** DROP USER ********************
|
||||
DROP USER 'user_test_rpl_2'@'localhost';
|
||||
SELECT host, user, password, select_priv FROM mysql.user WHERE user LIKE 'user_test_rpl%';
|
||||
host user password select_priv
|
||||
SELECT host, user, password, plugin, authentication_string, select_priv FROM mysql.user WHERE user LIKE 'user_test_rpl%';
|
||||
host user password plugin authentication_string select_priv
|
||||
connection slave;
|
||||
USE test_rpl;
|
||||
SELECT host, user, password, select_priv FROM mysql.user WHERE user LIKE 'user_test_rpl%';
|
||||
host user password select_priv
|
||||
SELECT host, user, password, plugin, authentication_string, select_priv FROM mysql.user WHERE user LIKE 'user_test_rpl%';
|
||||
host user password plugin authentication_string select_priv
|
||||
connection master;
|
||||
INSERT INTO t1 VALUES(100, 'test');
|
||||
|
||||
|
Reference in New Issue
Block a user