mariadb/mysql-test/main/create_drop_user.test
Sergei Golubchik 76151f3cbc 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.
2018-10-31 16:06:16 +01:00

46 lines
1.1 KiB
Text

--source include/not_embedded.inc
CREATE USER IF NOT EXISTS u1@localhost IDENTIFIED BY 'pw1';
SELECT plugin,authentication_string FROM mysql.user WHERE user='u1';
CREATE USER IF NOT EXISTS u1@localhost IDENTIFIED BY 'pw2';
SELECT plugin,authentication_string FROM mysql.user WHERE user='u1';
CREATE OR REPLACE USER u1@localhost IDENTIFIED BY 'pw3';
SELECT plugin,authentication_string FROM mysql.user WHERE user='u1';
--error ER_WRONG_USAGE
CREATE OR REPLACE USER IF NOT EXISTS u1@localhost IDENTIFIED BY 'pw4';
SELECT plugin,authentication_string FROM mysql.user WHERE user='u1';
DROP USER IF EXISTS u1@localhost;
DROP USER IF EXISTS u1@localhost;
--error ER_CANNOT_USER
DROP USER u1@localhost;
CREATE OR REPLACE USER u1@localhost;
--error ER_CANNOT_USER
CREATE USER u1@localhost;
DROP USER u1@localhost;
CREATE USER u1;
--error ER_CANNOT_USER
CREATE USER u1, u2;
--error ER_CANNOT_USER
CREATE USER u2;
--error ER_PASSWD_LENGTH
CREATE OR REPLACE USER u1 IDENTIFIED BY PASSWORD 'password', u2;
CREATE OR REPLACE USER u1 IDENTIFIED BY PASSWORD 'abcdefghijklmnop', u2;
DROP USER u1;
DROP USER IF EXISTS u1, u2;
--error ER_CANNOT_USER
DROP USER u2;