--source include/not_embedded.inc set @old_max_password_errors=@@max_password_errors; set global max_password_errors=2; create user u identified by 'good_pass'; # Test that user is blocked after 'max_password_errors' bad passwords --replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT error ER_ACCESS_DENIED_ERROR; connect(con1, localhost, u, bas_pass); --replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT error ER_ACCESS_DENIED_ERROR; connect (con1, localhost, u, bad_pass); --replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT error ER_USER_IS_BLOCKED; connect(con1, localhost, u, good_pass); --replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT error ER_USER_IS_BLOCKED; connect(con1, localhost, u, bad_pass); # Test that FLUSH PRIVILEGES clears the error FLUSH PRIVILEGES; connect (con1, localhost, u, good_pass); disconnect con1; # Test that good login clears the error --replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT error ER_ACCESS_DENIED_ERROR; connect (con1, localhost, u, bad_pass); connect (con1, localhost, u, good_pass); disconnect con1; --replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT error ER_ACCESS_DENIED_ERROR; connect (con1, localhost, u, bad_pass); connect (con1, localhost, u, good_pass); # Test the behavior of change_user --replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT error ER_ACCESS_DENIED_ERROR; change_user u,bad_pass; --replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT error ER_ACCESS_DENIED_ERROR; change_user u,bad_pass; --replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT error ER_USER_IS_BLOCKED; change_user u,good_pass; disconnect con1; connection default; FLUSH PRIVILEGES; #Test that root@localhost is not blocked, with password errors --replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT error ER_ACCESS_DENIED_ERROR; connect(con1, localhost, root, bas_pass); --replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT error ER_ACCESS_DENIED_ERROR; connect (con1, localhost, root, bad_pass); connect (con1, localhost, u, good_pass); disconnect con1; connection default; DROP USER u; FLUSH PRIVILEGES; set global max_password_errors=@old_max_password_errors;