CREATE USER 'kristofer' IDENTIFIED WITH 'sha256_password';
SET GLOBAL old_passwords= 2;
SET SESSION old_passwords= 2;
SET PASSWORD FOR 'kristofer'=PASSWORD('secret');
SELECT user, plugin FROM mysql.user;
user	plugin
root	mysql_native_password
root	mysql_native_password
root	mysql_native_password
root	mysql_native_password
kristofer	sha256_password
SELECT USER(),CURRENT_USER();
USER()	CURRENT_USER()
kristofer@localhost	kristofer@%
DROP USER 'kristofer';
GRANT ALL ON *.* TO 'kristofer'@'localhost' IDENTIFIED WITH 'sha256_password';
GRANT ALL ON *.* TO 'kristofer2'@'localhost' IDENTIFIED WITH 'sha256_password';
SET PASSWORD FOR 'kristofer'@'localhost'=PASSWORD('secret2');
SET PASSWORD FOR 'kristofer2'@'localhost'=PASSWORD('secret2');
ERROR 28000: Access denied for user 'kristofer'@'localhost' (using password: YES)
SELECT USER(),CURRENT_USER();
USER()	CURRENT_USER()
kristofer@localhost	kristofer@localhost
SHOW GRANTS FOR 'kristofer'@'localhost';
Grants for kristofer@localhost
GRANT ALL PRIVILEGES ON *.* TO 'kristofer'@'localhost' IDENTIFIED BY PASSWORD '<non-deterministic-password-hash>'
Change user (should succeed)
SELECT USER(),CURRENT_USER();
USER()	CURRENT_USER()
kristofer2@localhost	kristofer2@localhost
**** Client default_auth=sha_256_password and server default auth=native
user()	current_user()
kristofer@localhost	kristofer@localhost
**** Client default_auth=native and server default auth=native
user()	current_user()
kristofer@localhost	kristofer@localhost
**** Client default_auth=sha_256_password + public key on file.
user()	current_user()
kristofer@localhost	kristofer@localhost
DROP USER 'kristofer'@'localhost';
DROP USER 'kristofer2'@'localhost';
GRANT ALL ON *.* TO 'kristofer'@'localhost' IDENTIFIED WITH 'sha256_password';
SET PASSWORD FOR 'kristofer'@'localhost'=PASSWORD('');
ERROR 28000: Access denied for user 'kristofer'@'localhost' (using password: YES)
SELECT USER(),CURRENT_USER();
USER()	CURRENT_USER()
kristofer@localhost	kristofer@localhost
SHOW GRANTS FOR 'kristofer'@'localhost';
Grants for kristofer@localhost
GRANT ALL PRIVILEGES ON *.* TO 'kristofer'@'localhost'
DROP USER 'kristofer'@'localhost';
GRANT ALL ON *.* TO 'kristofer'@'33.33.33.33' IDENTIFIED WITH 'sha256_password';
SET PASSWORD FOR 'kristofer'@'33.33.33.33'=PASSWORD('');
Connection should fail for localhost
ERROR 28000: Access denied for user 'kristofer'@'localhost' (using password: NO)
DROP USER 'kristofer'@'33.33.33.33';
SET GLOBAL old_passwords= 2;
SET SESSION old_passwords= 2;
CREATE TABLE t1 (c1 VARCHAR(10) );
INSERT INTO t1 VALUES ('secret');
SELECT HEX(PASSWORD(c1)) FROM t1;
HEX(PASSWORD(c1))
success
DROP TABLE t1;
SELECT PASSWORD(NULL), PASSWORD('');
PASSWORD(NULL)	PASSWORD('')
	
CREATE TABLE t1( c1 text, c2 varchar (2));
INSERT INTO t1 VALUES (NULL,''),(NULL,''),(NULL,'');
SELECT PASSWORD(c1), PASSWORD(c2) FROM t1;
PASSWORD(c1)	PASSWORD(c2)
	
	
	
DROP TABLE t1;
CREATE USER 'kristofer' IDENTIFIED WITH 'sha256_password';
SET GLOBAL old_passwords= 2;
SET SESSION old_passwords= 2;
SET PASSWORD FOR 'kristofer'=PASSWORD('secret');
SELECT user, plugin FROM mysql.user;
user	plugin
root	mysql_native_password
root	mysql_native_password
root	mysql_native_password
root	mysql_native_password
kristofer	sha256_password
SELECT USER(),CURRENT_USER();
USER()	CURRENT_USER()
kristofer@localhost	kristofer@%
UPDATE mysql.user SET authentication_string= '$' WHERE user='kristofer';
FLUSH PRIVILEGES;
SELECT user,authentication_string,password,plugin FROM mysql.user WHERE user='kristofer';
user	authentication_string	password	plugin
kristofer	$		sha256_password
ERROR 28000: Access denied for user 'kristofer'@'localhost' (using password: YES)
UPDATE mysql.user SET authentication_string= '$5$asd' WHERE user='kristofer';
FLUSH PRIVILEGES;
SELECT user,authentication_string,password,plugin FROM mysql.user WHERE user='kristofer';
user	authentication_string	password	plugin
kristofer	$5$asd		sha256_password
ERROR 28000: Access denied for user 'kristofer'@'localhost' (using password: YES)
DROP USER kristofer;
SET GLOBAL old_passwords= default;
