mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Use mysql.user.authentication_string for password
Don't distinguish between a "password hash" and "authentication string" anymore. Now both are stored in mysql.user.authentication_string, both are handled identically internally. A "password hash" is just how some particular plugins interpret authentication string. Set mysql.user.plugin even if there is no password. The server will use mysql_native_password plugin in these cases, let's make it expicit. Remove LEX_USER::pwhash.
This commit is contained in:
@@ -17,15 +17,15 @@ CURRENT_USER
|
||||
u2@localhost
|
||||
disconnect user_a;
|
||||
connection master;
|
||||
SELECT user, password FROM mysql.user WHERE user LIKE 'u%' ORDER BY user;
|
||||
user password
|
||||
u1 *D9553C4CE316A9845CE49E30A2D7E3857AF966C4
|
||||
u2
|
||||
SELECT user,password,plugin,authentication_string FROM mysql.user WHERE user LIKE 'u%' ;
|
||||
user password plugin authentication_string
|
||||
u1 mysql_native_password *D9553C4CE316A9845CE49E30A2D7E3857AF966C4
|
||||
u2 mysql_native_password
|
||||
connection slave;
|
||||
SELECT user, password FROM mysql.user WHERE user LIKE 'u%' ORDER BY user;
|
||||
user password
|
||||
u1 *D9553C4CE316A9845CE49E30A2D7E3857AF966C4
|
||||
u2
|
||||
SELECT user,password,plugin,authentication_string FROM mysql.user WHERE user LIKE 'u%' ;
|
||||
user password plugin authentication_string
|
||||
u1 mysql_native_password *D9553C4CE316A9845CE49E30A2D7E3857AF966C4
|
||||
u2 mysql_native_password
|
||||
connection master;
|
||||
CREATE OR REPLACE USER u1@localhost IDENTIFIED BY 'abcdefghijk2';
|
||||
connect user_a, localhost, u1,'abcdefghijk2',;
|
||||
@@ -35,25 +35,25 @@ CURRENT_USER
|
||||
u1@localhost
|
||||
disconnect user_a;
|
||||
connection master;
|
||||
SELECT user, password FROM mysql.user WHERE user LIKE 'u%' ORDER BY user;
|
||||
user password
|
||||
u1 *A9A5EF53CE2EFAA6F4A746D63A917B2370971A7E
|
||||
u2
|
||||
SELECT user,password,plugin,authentication_string FROM mysql.user WHERE user LIKE 'u%' ;
|
||||
user password plugin authentication_string
|
||||
u1 mysql_native_password *A9A5EF53CE2EFAA6F4A746D63A917B2370971A7E
|
||||
u2 mysql_native_password
|
||||
connection slave;
|
||||
SELECT user, password FROM mysql.user WHERE user LIKE 'u%' ORDER BY user;
|
||||
user password
|
||||
u1 *A9A5EF53CE2EFAA6F4A746D63A917B2370971A7E
|
||||
u2
|
||||
SELECT user,password,plugin,authentication_string FROM mysql.user WHERE user LIKE 'u%' ;
|
||||
user password plugin authentication_string
|
||||
u1 mysql_native_password *A9A5EF53CE2EFAA6F4A746D63A917B2370971A7E
|
||||
u2 mysql_native_password
|
||||
connection master;
|
||||
CREATE USER u1@localhost;
|
||||
ERROR HY000: Operation CREATE USER failed for 'u1'@'localhost'
|
||||
DROP USER u3@localhost;
|
||||
ERROR HY000: Operation DROP USER failed for 'u3'@'localhost'
|
||||
connection slave;
|
||||
SELECT user, password FROM mysql.user WHERE user LIKE 'u%' ORDER BY user;
|
||||
user password
|
||||
u1 *A9A5EF53CE2EFAA6F4A746D63A917B2370971A7E
|
||||
u2
|
||||
SELECT user,password,plugin,authentication_string FROM mysql.user WHERE user LIKE 'u%' ;
|
||||
user password plugin authentication_string
|
||||
u1 mysql_native_password *A9A5EF53CE2EFAA6F4A746D63A917B2370971A7E
|
||||
u2 mysql_native_password
|
||||
connection master;
|
||||
DROP USER IF EXISTS u1@localhost;
|
||||
DROP USER u2@localhost;
|
||||
@@ -61,6 +61,6 @@ DROP USER IF EXISTS u3@localhost;
|
||||
Warnings:
|
||||
Note 1974 Can't drop user 'u3'@'localhost'; it doesn't exist
|
||||
connection slave;
|
||||
SELECT user, password FROM mysql.user WHERE user LIKE 'u%' ORDER BY user;
|
||||
user password
|
||||
SELECT user,password,plugin,authentication_string FROM mysql.user WHERE user LIKE 'u%' ;
|
||||
user password plugin authentication_string
|
||||
include/rpl_end.inc
|
||||
|
Reference in New Issue
Block a user