MOON
Server: Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/0.9.8e-fips-rhel5 mod_auth_passthrough/2.1 mod_bwlimited/1.4
System: Linux vps.panamaemb.org.sg 3.10.0-1160.80.1.vz7.191.4 #1 SMP Thu Dec 15 20:31:06 MSK 2022 x86_64
User: panama (500)
PHP: 5.2.17
Disabled: NONE
Upload Files
File: //usr/share/mysql-test/t/disconnect_on_expired_password_default.test
## WL6587 Test --disconnect-on-expired-passwords=default (on)
--source include/not_embedded.inc

SHOW VARIABLES LIKE 'disconnect_on_expired_password';

--echo ## Test mysql client in non-interactrive mode

CREATE USER 'bernt';
SET PASSWORD FOR 'bernt' = PASSWORD('secret');
ALTER USER 'bernt' PASSWORD EXPIRE;

--echo # Attempt to login should fail
--error 1
--exec $MYSQL -ubernt -psecret -e "EXIT" 2>&1

DROP USER 'bernt';

--echo ## Test mysqltest

CREATE USER 'bernt';
SET PASSWORD FOR 'bernt' = PASSWORD('secret');
ALTER USER 'bernt' PASSWORD EXPIRE;

--echo # Login with mysqltest should work
connect(con2,localhost,bernt,secret,,);
--echo # But doing something should fail
--error 1820
SELECT 1;
--echo # Setting password should work
SET PASSWORD = PASSWORD('newsecret');
disconnect con2;
connection default;

DROP USER 'bernt';

--echo ## Test mysqladmin

CREATE USER 'bernt';
SET PASSWORD FOR 'bernt' = PASSWORD('secret');
GRANT ALL ON *.* TO 'bernt' WITH GRANT OPTION;
ALTER USER 'bernt' PASSWORD EXPIRE;

--echo # Doing something should not connect
--replace_result $MYSQLADMIN MYSQLADMIN
--error 1
--exec $MYSQLADMIN -S $MASTER_MYSOCK -P $MASTER_MYPORT --user=bernt --password=secret reload 2>&1
--echo # Setting password should succeed
--exec $MYSQLADMIN --user=bernt --password=secret -S $MASTER_MYSOCK -P $MASTER_MYPORT password newsecret 2>&1

DROP USER 'bernt';