HEX
Server: nginx/1.26.1
System: Linux iZrj9cbdvwu1cot8sjlyzlZ 5.10.134-15.al8.x86_64 #1 SMP Thu Jul 20 00:44:04 CST 2023 x86_64
User: www (1000)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/server/mysql/mysql-test/r/disconnect_on_expired_password_default.result
SHOW VARIABLES LIKE 'disconnect_on_expired_password';
Variable_name	Value
disconnect_on_expired_password	ON
## Test mysql client in non-interactrive mode
CREATE USER 'bernt';
SET PASSWORD FOR 'bernt' = PASSWORD('secret');
ALTER USER 'bernt' PASSWORD EXPIRE;
# Attempt to login should fail
Warning: Using a password on the command line interface can be insecure.
ERROR 1862 (HY000): Your password has expired. To log in you must change it using a client that supports expired passwords.
DROP USER 'bernt';
## Test mysqltest
CREATE USER 'bernt';
SET PASSWORD FOR 'bernt' = PASSWORD('secret');
ALTER USER 'bernt' PASSWORD EXPIRE;
# Login with mysqltest should work
# But doing something should fail
SELECT 1;
ERROR HY000: You must SET PASSWORD before executing this statement
# Setting password should work
SET PASSWORD = PASSWORD('newsecret');
DROP USER 'bernt';
## Test mysqladmin
CREATE USER 'bernt';
SET PASSWORD FOR 'bernt' = PASSWORD('secret');
GRANT ALL ON *.* TO 'bernt' WITH GRANT OPTION;
ALTER USER 'bernt' PASSWORD EXPIRE;
# Doing something should not connect
Warning: Using a password on the command line interface can be insecure.
MYSQLADMIN: connect to server at 'localhost' failed
error: 'Your password has expired. To log in you must change it using a client that supports expired passwords.'
# Setting password should succeed
Warning: Using a password on the command line interface can be insecure.
DROP USER 'bernt';