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_off.test
## WL6587 Test --disconnect-on-expired-password=off
--source include/not_embedded.inc

SHOW VARIABLES LIKE 'disconnect_on_expired_password';

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

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

ALTER USER 'bernt' PASSWORD EXPIRE;
--echo # Should connect, but doing something should fail
--error 1
--exec $MYSQL -ubernt -psecret -e "SELECT 1" 2>&1
--echo # Login and set password should succeed
--exec $MYSQL -ubernt -psecret -e "SET PASSWORD = PASSWORD('newsecret')" 2>&1

DROP USER 'bernt';

--echo ## Test mysqltest login

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;
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 connect but fail
--replace_result $MYSQLADMIN MYSQLADMIN
--error 1
--exec $MYSQLADMIN --user=bernt --password=secret -S $MASTER_MYSOCK -P $MASTER_MYPORT 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';