polardbxengine/mysql-test/suite/group_replication/t/gr_random_password.test

138 lines
4.8 KiB
Plaintext

--source include/have_group_replication_plugin.inc
--let $rpl_skip_group_replication_start= 1
--let $rpl_group_replication_single_primary_mode=1
--source include/group_replication.inc
--echo
--echo #-------------------------------------------------
--echo # 1. Bootstrap start GR on server1 (Primary).
--echo # Start GR on server2 (Secondary).
--let $rpl_connection_name= server1
--source include/rpl_connection.inc
--let $server1_uuid= `SELECT @@server_uuid`
--source include/start_and_bootstrap_group_replication.inc
--let $rpl_connection_name= server2
--source include/rpl_connection.inc
--source include/start_group_replication.inc
--echo
# Make sure server1 is the primary
--let $assert_text= Verify group_replication_primary_member is SERVER_UUID
--let $assert_cond= "[SELECT VARIABLE_VALUE FROM performance_schema.global_status WHERE VARIABLE_NAME= \'group_replication_primary_member\', VARIABLE_VALUE, 1]" = "$server1_uuid"
--source include/assert.inc
--echo
--echo #-- On Server1
--let $rpl_connection_name= server1
--source include/rpl_connection.inc
--echo
# Set variable generated_random_password_length
SELECT @@GLOBAL.generated_random_password_length;
SELECT @@SESSION.generated_random_password_length;
SET @@GLOBAL.generated_random_password_length = 25;
SELECT @@GLOBAL.generated_random_password_length;
SELECT @@SESSION.generated_random_password_length;
# Create user on server1
--echo #-- CREATE user usr1 with RANDOM PASSWORD
let $qry= CREATE USER usr1@localhost IDENTIFIED BY RANDOM PASSWORD;
let $pswd = query_get_value($qry, "generated password", 1);
GRANT SYSTEM_VARIABLES_ADMIN ON *.* TO usr1@localhost;
GRANT GROUP_REPLICATION_ADMIN ON *.* TO usr1@localhost;
GRANT REPLICATION_SLAVE_ADMIN ON *.* TO usr1@localhost;
FLUSH PRIVILEGES;
--source include/rpl_sync.inc
--echo
--echo #-- Connect to usr1 on server1
--echo [connection usr1]
connect(con1, localhost, usr1, $pswd,*NO-ONE*);
# Execution of commands should be successful.
SELECT CURRENT_USER;
SELECT @@GLOBAL.generated_random_password_length;
SELECT @@SESSION.generated_random_password_length;
--disconnect con1
--echo
--echo #-- On Server2
--let $rpl_connection_name= server2
--source include/rpl_connection.inc
SELECT user FROM mysql.user WHERE user LIKE '%usr%';
SELECT @@GLOBAL.generated_random_password_length;
SELECT @@SESSION.generated_random_password_length;
--echo
--echo #-- On Server1
--let $rpl_connection_name= server1
--source include/rpl_connection.inc
SET @@SESSION.generated_random_password_length = 30;
--echo #-- CREATE user usr2 with RANDOM PASSWORD
--replace_column 3 #####
CREATE USER usr2@localhost IDENTIFIED BY RANDOM PASSWORD;
--echo #-- ALTER with RANDOM PASSWORD
let $qry= ALTER USER usr2@localhost IDENTIFIED BY RANDOM PASSWORD;
let $pswd = query_get_value($qry, "generated password", 1);
SELECT @@GLOBAL.generated_random_password_length;
SELECT @@SESSION.generated_random_password_length;
--echo
--echo #-- Connect to usr2 on server1
--echo [connection usr2]
connect(con1, localhost, usr2, $pswd,*NO-ONE*);
# Execution of commands should be successful.
SELECT CURRENT_USER;
SELECT @@GLOBAL.generated_random_password_length;
SELECT @@SESSION.generated_random_password_length;
--disconnect con1
--echo
--echo #-- On Server2
--let $rpl_connection_name= server2
--source include/rpl_connection.inc
SELECT user FROM mysql.user WHERE user LIKE '%usr%';
SELECT @@GLOBAL.generated_random_password_length;
SELECT @@SESSION.generated_random_password_length;
--echo
--echo #-- On Server1
--let $rpl_connection_name= server1
--source include/rpl_connection.inc
SET @@GLOBAL.generated_random_password_length = 15;
--echo #-- CREATE user usr3 with RANDOM PASSWORD
--replace_column 3 #####
CREATE USER usr3@localhost IDENTIFIED BY RANDOM PASSWORD;
--echo #-- SET PASSWORD with RANDOM PASSWORD
let $qry= SET PASSWORD FOR usr3@localhost TO RANDOM;
let $pswd = query_get_value($qry, "generated password", 1);
SELECT @@GLOBAL.generated_random_password_length;
SELECT @@SESSION.generated_random_password_length;
--echo
--echo #-- Connect to usr3 on server1
--echo [connection usr3]
connect(con1, localhost, usr3, $pswd,*NO-ONE*);
# Execution of commands should be successful.
SELECT CURRENT_USER;
SELECT @@GLOBAL.generated_random_password_length;
SELECT @@SESSION.generated_random_password_length;
--disconnect con1
--echo
--let $rpl_connection_name= server2
--source include/rpl_connection.inc
SELECT user FROM mysql.user WHERE user LIKE '%usr%';
SELECT @@GLOBAL.generated_random_password_length;
SELECT @@SESSION.generated_random_password_length;
# Cleanup
--let $rpl_connection_name= server1
--source include/rpl_connection.inc
--echo
SET @@SESSION.generated_random_password_length = DEFAULT;
SET @@GLOBAL.generated_random_password_length = DEFAULT;
DROP USER usr1@localhost;
DROP USER usr2@localhost;
DROP USER usr3@localhost;
--source include/rpl_sync.inc
--source include/group_replication_end.inc