1112 lines
36 KiB
Plaintext
1112 lines
36 KiB
Plaintext
########### ../t/admin_xkill.test #########
|
|
## #
|
|
## This test aims to run list_clients and kill_client admin commands #
|
|
## Test runs covers below scenarios: #
|
|
## - listing client with single session and multiple sessions #
|
|
## - killing own session and x_root user session with privileged user #
|
|
## - killing own session and x_root user session with unprivileged user
|
|
## - killing session with value of different data types than UINT #
|
|
## - killing x_root session with user has only process privilege #
|
|
## - listing and killing session with password expired user #
|
|
## - killing valid sql_session id with xprotocol connection #
|
|
## - listing and killing default mysqlx_max_connections ie 100 #
|
|
## - listing,killing clients with ssl xprotocol privileged conn #
|
|
## - listing and killing clients with ssl xprotocol x_root connection #
|
|
## - kill_client,list_clients stats #
|
|
## - check sum of these 2 vars with all mysqlx sessions should be as#
|
|
# that of with mysql client #
|
|
######################################################################
|
|
|
|
--source include/xplugin_preamble.inc
|
|
--source include/xplugin_create_user.inc
|
|
call mtr.add_suppression("Plugin mysqlx reported: 'Unhandled network error: Bad file descriptor'");
|
|
create user sslcon@localhost identified by 'sslcon';
|
|
grant all on *.* to sslcon@localhost;
|
|
--write_file $MYSQL_TMP_DIR/admin_xkill.tmp
|
|
-->import assert_status_variable.macro
|
|
-->import kill_and_restart.macro
|
|
|
|
create user abc@localhost identified by 'abc';
|
|
create user xplugin@localhost identified by 'xplugin';
|
|
grant all on *.* to xplugin@localhost;
|
|
create user process@localhost identified by 'process';
|
|
grant process on *.* to process@localhost;
|
|
create user expire@localhost identified by 'expire';
|
|
grant all on *.* to expire@localhost;
|
|
alter user expire@localhost password expire;
|
|
select sleep(1);
|
|
|
|
-->echo Test data
|
|
-->stmtadmin list_clients
|
|
-->recvresult
|
|
|
|
-->echo expect Mysqlx_stmt_list_clients=1 and Mysqlx_stmt_kill_client=0
|
|
quiet;
|
|
callmacro Assert_status_variable Mysqlx_stmt_kill_client 0;
|
|
callmacro Assert_status_variable Mysqlx_stmt_list_clients 1;
|
|
callmacro Assert_status_variable Mysqlx_sessions 1;
|
|
noquiet;
|
|
|
|
-->echo create and activate new session
|
|
-->newsession aux x_root
|
|
|
|
-->stmtadmin list_clients
|
|
-->recvresult client_id user host
|
|
|
|
-->echo expect Mysqlx_stmt_list_clients=1 and Mysqlx_stmt_kill_client=0 even with another new x_root session
|
|
quiet;
|
|
callmacro Assert_status_variable Mysqlx_stmt_kill_client 0;
|
|
callmacro Assert_status_variable Mysqlx_stmt_list_clients 1;
|
|
callmacro Assert_status_variable Mysqlx_sessions 2;
|
|
noquiet;
|
|
|
|
-->echo switch back to default session
|
|
-->setsession
|
|
|
|
-->stmtadmin list_clients
|
|
-->recvresult client_id user host
|
|
|
|
-->echo expect Mysqlx_stmt_list_clients=2 and Mysqlx_stmt_kill_client=0 with default x_root session where list_clients already executed
|
|
quiet;
|
|
callmacro Assert_status_variable Mysqlx_stmt_kill_client 0;
|
|
callmacro Assert_status_variable Mysqlx_stmt_list_clients 2;
|
|
callmacro Assert_status_variable Mysqlx_sessions 2;
|
|
noquiet;
|
|
|
|
callmacro kill_client 2;
|
|
|
|
callmacro Wait_for_status_variable Mysqlx_sessions 1;
|
|
|
|
-->stmtadmin list_clients
|
|
-->recvresult client_id user host
|
|
|
|
-->echo expect Mysqlx_stmt_list_clients=3 and Mysqlx_stmt_kill_client=1 with default x_root session where list_clients executed 3 times and kill_client once
|
|
quiet;
|
|
callmacro Assert_status_variable Mysqlx_stmt_kill_client 1;
|
|
callmacro Assert_status_variable Mysqlx_stmt_list_clients 3;
|
|
callmacro Assert_status_variable Mysqlx_sessions 1;
|
|
noquiet;
|
|
|
|
-->echo create and activate new session abc
|
|
-->echo expect only abc user session id
|
|
-->newsession abc abc abc
|
|
|
|
-->stmtadmin list_clients
|
|
-->recvresult client_id user host
|
|
|
|
-->echo killing x_root user session with unprivileged user 'abc' which should be unsuccessful
|
|
|
|
callmacro kill_client_expect_error 1 ER_KILL_DENIED_ERROR;
|
|
|
|
-->echo expect Mysqlx_stmt_list_clients=1 and Mysqlx_stmt_kill_client=1 with session abc where list_clients and kill_client executed once
|
|
quiet;
|
|
callmacro Assert_status_variable Mysqlx_stmt_kill_client 1;
|
|
callmacro Assert_status_variable Mysqlx_stmt_list_clients 1;
|
|
callmacro Assert_status_variable Mysqlx_sessions 2;
|
|
noquiet;
|
|
select user(),current_user();
|
|
show grants;
|
|
|
|
-->echo open another session of abc user and kill first session of abc user,which should be successful
|
|
-->newsession abc1 abc abc
|
|
|
|
-->stmtadmin list_clients
|
|
-->recvresult client_id user host
|
|
|
|
callmacro kill_client 3;
|
|
|
|
callmacro Wait_for_status_variable Mysqlx_sessions 2;
|
|
|
|
-->stmtadmin list_clients
|
|
-->recvresult client_id user host
|
|
|
|
|
|
-->echo expect Mysqlx_stmt_list_clients=2 and Mysqlx_stmt_kill_client=1 with new session abc where list_clients executed twice and kill_client executed once
|
|
quiet;
|
|
callmacro Assert_status_variable Mysqlx_stmt_kill_client 1;
|
|
callmacro Assert_status_variable Mysqlx_stmt_list_clients 2;
|
|
callmacro Assert_status_variable Mysqlx_sessions 2;
|
|
noquiet;
|
|
select user(),current_user();
|
|
show grants;
|
|
|
|
-->echo killing abc user session with its own session 'abc' which should be successful
|
|
-->echo expect right error instead of End of File
|
|
Mysqlx.Sql.StmtExecute {
|
|
stmt: "kill_client"
|
|
namespace: "xplugin"
|
|
args {
|
|
type: SCALAR
|
|
scalar {
|
|
type: V_UINT
|
|
v_unsigned_int: 4
|
|
}
|
|
}
|
|
}
|
|
|
|
#-->echo expect Mysqlx.Sql.StmtExecuteOk
|
|
#-->recvresult
|
|
# and switch back to default
|
|
-->recvuntildisc
|
|
|
|
callmacro Wait_for_status_variable Mysqlx_sessions 1;
|
|
|
|
-->echo switch back to default session
|
|
-->setsession
|
|
|
|
-->stmtadmin list_clients
|
|
-->recvresult client_id user host
|
|
|
|
-->echo expect Mysqlx_stmt_list_clients=4 and Mysqlx_stmt_kill_client=1 with default x_root session where list_clients executed 4 times and kill_client once
|
|
quiet;
|
|
callmacro Assert_status_variable Mysqlx_stmt_kill_client 1;
|
|
callmacro Assert_status_variable Mysqlx_stmt_list_clients 4;
|
|
callmacro Assert_status_variable Mysqlx_sessions 1;
|
|
noquiet;
|
|
select user(),current_user();
|
|
show grants;
|
|
|
|
-->echo open process only privileged user seession and kill x_root user session,expect error "You are not owner of thread"
|
|
-->newsession process process process
|
|
|
|
-->stmtadmin list_clients
|
|
-->recvresult client_id user host
|
|
|
|
callmacro kill_client_expect_error 1 ER_KILL_DENIED_ERROR;
|
|
|
|
callmacro Wait_for_status_variable Mysqlx_sessions 2;
|
|
|
|
-->echo checking list of clients after x_root user session killed by xplugin user
|
|
-->stmtadmin list_clients
|
|
-->recvresult client_id user host
|
|
|
|
-->echo expect Mysqlx_stmt_list_clients=2 and Mysqlx_stmt_kill_client=1 with process user where list_clients executed 2 times and kill_client once
|
|
show status like 'Mysqlx_stmt%client%';
|
|
select user(),current_user();
|
|
show grants;
|
|
|
|
-->echo open privileged user seession and kill x_root user session,expect success
|
|
-->newsession xplugin xplugin xplugin
|
|
|
|
-->stmtadmin list_clients
|
|
-->recvresult client_id user host
|
|
|
|
callmacro kill_client 1;
|
|
|
|
callmacro Wait_for_status_variable Mysqlx_sessions 2;
|
|
|
|
-->echo checking list of clients after x_root user session killed by xplugin user
|
|
-->stmtadmin list_clients
|
|
-->recvresult client_id user host
|
|
|
|
-->echo expect Mysqlx_stmt_list_clients=2 and Mysqlx_stmt_kill_client=1 with xplugin user where list_clients executed 2 times and kill_client once
|
|
show status like 'Mysqlx_stmt%client%';
|
|
select user(),current_user();
|
|
show grants;
|
|
|
|
-->echo Cleanup
|
|
drop schema if exists xtest;
|
|
EOF
|
|
|
|
## killing client with invalid scalar data types
|
|
--write_file $MYSQL_TMP_DIR/admin_xkill_invaliddtype.tmp
|
|
-->import assert_status_variable.macro
|
|
-->import kill_and_restart.macro
|
|
|
|
-->stmtadmin list_clients
|
|
-->recvresult client_id user host
|
|
|
|
-->echo expect error while killing client with data type other than usinged int
|
|
-->echo try killing xprotocol session with valid sql_session id once xprotocol connetion opened with kill_client,expect error
|
|
|
|
callmacro kill_client_expect_error 11 ER_NO_SUCH_THREAD;
|
|
|
|
Mysqlx.Sql.StmtExecute {
|
|
stmt: "kill_client"
|
|
namespace: "xplugin"
|
|
args {
|
|
type: SCALAR
|
|
scalar {
|
|
type: V_STRING
|
|
v_string:{
|
|
value: "1"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-->expecterror ER_X_CMD_ARGUMENT_TYPE
|
|
-->recvresult
|
|
|
|
Mysqlx.Sql.StmtExecute {
|
|
stmt: "kill_client"
|
|
namespace: "xplugin"
|
|
args {
|
|
type: SCALAR
|
|
scalar {
|
|
type: V_BOOL
|
|
v_bool:1
|
|
}
|
|
}
|
|
}
|
|
-->expecterror ER_X_CMD_ARGUMENT_TYPE
|
|
-->recvresult
|
|
|
|
Mysqlx.Sql.StmtExecute {
|
|
stmt: "kill_client"
|
|
namespace: "xplugin"
|
|
args {
|
|
type: SCALAR
|
|
scalar {
|
|
type: V_BOOL
|
|
v_bool:0
|
|
}
|
|
}
|
|
}
|
|
-->expecterror ER_X_CMD_ARGUMENT_TYPE
|
|
-->recvresult
|
|
|
|
Mysqlx.Sql.StmtExecute {
|
|
stmt: "kill_client"
|
|
namespace: "xplugin"
|
|
args {
|
|
type: SCALAR
|
|
scalar {
|
|
type: V_BOOL
|
|
v_bool:false
|
|
}
|
|
}
|
|
}
|
|
-->expecterror ER_X_CMD_ARGUMENT_TYPE
|
|
-->recvresult
|
|
|
|
Mysqlx.Sql.StmtExecute {
|
|
stmt: "kill_client"
|
|
namespace: "xplugin"
|
|
args {
|
|
type: SCALAR
|
|
scalar {
|
|
type: V_BOOL
|
|
v_bool:true
|
|
}
|
|
}
|
|
}
|
|
-->expecterror ER_X_CMD_ARGUMENT_TYPE
|
|
-->recvresult
|
|
|
|
Mysqlx.Sql.StmtExecute {
|
|
stmt: "kill_client"
|
|
namespace: "xplugin"
|
|
args {
|
|
type: SCALAR
|
|
scalar {
|
|
type: V_FLOAT
|
|
v_float:1
|
|
}
|
|
}
|
|
}
|
|
-->expecterror ER_X_CMD_ARGUMENT_TYPE
|
|
-->recvresult
|
|
|
|
Mysqlx.Sql.StmtExecute {
|
|
stmt: "kill_client"
|
|
namespace: "xplugin"
|
|
args {
|
|
type: SCALAR
|
|
scalar {
|
|
type: V_DOUBLE
|
|
v_double:1
|
|
}
|
|
}
|
|
}
|
|
-->expecterror ER_X_CMD_ARGUMENT_TYPE
|
|
-->recvresult
|
|
|
|
Mysqlx.Sql.StmtExecute {
|
|
stmt: "kill_client"
|
|
namespace: "xplugin"
|
|
args {
|
|
type: SCALAR
|
|
scalar {
|
|
type: V_NULL
|
|
}
|
|
}
|
|
}
|
|
-->expecterror ER_X_CMD_ARGUMENT_TYPE
|
|
-->recvresult
|
|
|
|
Mysqlx.Sql.StmtExecute {
|
|
stmt: "kill_client"
|
|
namespace: "xplugin"
|
|
args {
|
|
type: SCALAR
|
|
scalar {
|
|
type: V_OCTETS
|
|
v_octets {value:"1"}
|
|
}
|
|
}
|
|
}
|
|
-->expecterror ER_X_CMD_ARGUMENT_TYPE
|
|
-->recvresult
|
|
|
|
Mysqlx.Sql.StmtExecute {
|
|
stmt: "kill_client"
|
|
namespace: "xplugin"
|
|
args {
|
|
type: SCALAR
|
|
scalar {
|
|
type: V_SINT
|
|
v_signed_int:-1
|
|
}
|
|
}
|
|
}
|
|
-->expecterror ER_X_CMD_ARGUMENT_TYPE
|
|
-->recvresult
|
|
|
|
-->echo expect Mysqlx_stmt_list_clients=1 and Mysqlx_stmt_kill_client=11 with x_root user even though kill_client returns errors
|
|
quiet;
|
|
callmacro Assert_status_variable Mysqlx_stmt_kill_client 11;
|
|
callmacro Assert_status_variable Mysqlx_stmt_list_clients 1;
|
|
callmacro Assert_status_variable Mysqlx_sessions 1;
|
|
noquiet;
|
|
|
|
EOF
|
|
|
|
--write_file $MYSQL_TMP_DIR/admin_xkill_pwd_expire.tmp
|
|
-->import assert_status_variable.macro
|
|
-->import kill_and_restart.macro
|
|
|
|
-->echo expect error if list_clients and kill_client executed from password expired user session
|
|
-->expecterror ER_MUST_CHANGE_PASSWORD
|
|
show processlist;
|
|
|
|
Mysqlx.Sql.StmtExecute {
|
|
stmt: "list_clients"
|
|
namespace: "xplugin"
|
|
}
|
|
-->expecterror ER_MUST_CHANGE_PASSWORD
|
|
-->recvresult
|
|
|
|
callmacro kill_client_expect_error 8 ER_MUST_CHANGE_PASSWORD;
|
|
|
|
EOF
|
|
|
|
--write_file $MYSQL_TMP_DIR/admin_mixedcase.tmp
|
|
-->import assert_status_variable.macro
|
|
-->import kill_and_restart.macro
|
|
|
|
-->echo checking list_clients and kill_client with mixed case, expect success as these commands are case insensitive
|
|
Mysqlx.Sql.StmtExecute {
|
|
stmt: "LIST_clients"
|
|
namespace: "xplugin"
|
|
}
|
|
## expect Mysqlx.Sql.StmtExecuteOk
|
|
-->recvresult client_id user host
|
|
|
|
Mysqlx.Sql.StmtExecute {
|
|
stmt: "kill_CLIENT"
|
|
namespace: "xplugin"
|
|
args {
|
|
type: SCALAR
|
|
scalar {
|
|
type: V_UINT
|
|
v_unsigned_int: 998
|
|
}
|
|
}
|
|
}
|
|
-->expecterror ER_NO_SUCH_THREAD
|
|
-->recvresult
|
|
|
|
-->echo expect Mysqlx_stmt_list_clients=1 and Mysqlx_stmt_kill_client=1 with x_root user when these commads executed with mixed case
|
|
quiet;
|
|
callmacro Assert_status_variable Mysqlx_stmt_kill_client 1;
|
|
callmacro Assert_status_variable Mysqlx_stmt_list_clients 1;
|
|
callmacro Assert_status_variable Mysqlx_sessions 1;
|
|
noquiet;
|
|
|
|
EOF
|
|
|
|
###below script is blind, it can be modified more efficiently by reducing no of lines
|
|
--write_file $MYSQL_TMP_DIR/admin_list_kill_100conns.tmp
|
|
-->import assert_status_variable.macro
|
|
-->import kill_and_restart.macro
|
|
|
|
-->echo checking list_clients and kill_client with default 100 connections, expect success for both list and kill
|
|
set @@global.mysqlx_max_connections=60;
|
|
create user xconnection1@localhost identified by 'xconnection1';
|
|
create user xconnection2@localhost identified by 'xconnection2';
|
|
create user xconnection3@localhost identified by 'xconnection3';
|
|
create user xconnection4@localhost identified by 'xconnection4';
|
|
create user xconnection5@localhost identified by 'xconnection5';
|
|
create user xconnection6@localhost identified by 'xconnection6';
|
|
create user xconnection7@localhost identified by 'xconnection7';
|
|
create user xconnection8@localhost identified by 'xconnection8';
|
|
create user xconnection9@localhost identified by 'xconnection9';
|
|
create user xconnection10@localhost identified by 'xconnection10';
|
|
create user xconnection11@localhost identified by 'xconnection11';
|
|
create user xconnection12@localhost identified by 'xconnection12';
|
|
create user xconnection13@localhost identified by 'xconnection13';
|
|
create user xconnection14@localhost identified by 'xconnection14';
|
|
create user xconnection15@localhost identified by 'xconnection15';
|
|
create user xconnection16@localhost identified by 'xconnection16';
|
|
create user xconnection17@localhost identified by 'xconnection17';
|
|
create user xconnection18@localhost identified by 'xconnection18';
|
|
create user xconnection19@localhost identified by 'xconnection19';
|
|
create user xconnection20@localhost identified by 'xconnection20';
|
|
create user xconnection21@localhost identified by 'xconnection21';
|
|
create user xconnection22@localhost identified by 'xconnection22';
|
|
create user xconnection23@localhost identified by 'xconnection23';
|
|
create user xconnection24@localhost identified by 'xconnection24';
|
|
create user xconnection25@localhost identified by 'xconnection25';
|
|
create user xconnection26@localhost identified by 'xconnection26';
|
|
create user xconnection27@localhost identified by 'xconnection27';
|
|
create user xconnection28@localhost identified by 'xconnection28';
|
|
create user xconnection29@localhost identified by 'xconnection29';
|
|
create user xconnection30@localhost identified by 'xconnection30';
|
|
create user xconnection31@localhost identified by 'xconnection31';
|
|
create user xconnection32@localhost identified by 'xconnection32';
|
|
create user xconnection33@localhost identified by 'xconnection33';
|
|
create user xconnection34@localhost identified by 'xconnection34';
|
|
create user xconnection35@localhost identified by 'xconnection35';
|
|
create user xconnection36@localhost identified by 'xconnection36';
|
|
create user xconnection37@localhost identified by 'xconnection37';
|
|
create user xconnection38@localhost identified by 'xconnection38';
|
|
create user xconnection39@localhost identified by 'xconnection39';
|
|
create user xconnection40@localhost identified by 'xconnection40';
|
|
create user xconnection41@localhost identified by 'xconnection41';
|
|
create user xconnection42@localhost identified by 'xconnection42';
|
|
create user xconnection43@localhost identified by 'xconnection43';
|
|
create user xconnection44@localhost identified by 'xconnection44';
|
|
create user xconnection45@localhost identified by 'xconnection45';
|
|
create user xconnection46@localhost identified by 'xconnection46';
|
|
create user xconnection47@localhost identified by 'xconnection47';
|
|
create user xconnection48@localhost identified by 'xconnection48';
|
|
create user xconnection49@localhost identified by 'xconnection49';
|
|
create user xconnection50@localhost identified by 'xconnection50';
|
|
|
|
-->echo Test data
|
|
-->stmtadmin list_clients
|
|
-->recvresult
|
|
|
|
-->echo expect Mysqlx_stmt_list_clients=1 and Mysqlx_stmt_kill_client=0
|
|
show status like 'Mysqlx_stmt%client%';
|
|
|
|
-->echo create and activate new session xconnection1
|
|
-->newsession xconnection1 xconnection1 xconnection1
|
|
-->newsession xconnection2 xconnection2 xconnection2
|
|
-->newsession xconnection3 xconnection3 xconnection3
|
|
-->newsession xconnection4 xconnection4 xconnection4
|
|
-->newsession xconnection5 xconnection5 xconnection5
|
|
-->newsession xconnection6 xconnection6 xconnection6
|
|
-->newsession xconnection7 xconnection7 xconnection7
|
|
-->newsession xconnection8 xconnection8 xconnection8
|
|
-->newsession xconnection9 xconnection9 xconnection9
|
|
-->newsession xconnection10 xconnection10 xconnection10
|
|
-->newsession xconnection11 xconnection11 xconnection11
|
|
-->newsession xconnection12 xconnection12 xconnection12
|
|
-->newsession xconnection13 xconnection13 xconnection13
|
|
-->newsession xconnection14 xconnection14 xconnection14
|
|
-->newsession xconnection15 xconnection15 xconnection15
|
|
-->newsession xconnection16 xconnection16 xconnection16
|
|
-->newsession xconnection17 xconnection17 xconnection17
|
|
-->newsession xconnection18 xconnection18 xconnection18
|
|
-->newsession xconnection19 xconnection19 xconnection19
|
|
-->newsession xconnection20 xconnection20 xconnection20
|
|
-->newsession xconnection21 xconnection21 xconnection21
|
|
-->newsession xconnection22 xconnection22 xconnection22
|
|
-->newsession xconnection23 xconnection23 xconnection23
|
|
-->newsession xconnection24 xconnection24 xconnection24
|
|
-->newsession xconnection25 xconnection25 xconnection25
|
|
-->newsession xconnection26 xconnection26 xconnection26
|
|
-->newsession xconnection27 xconnection27 xconnection27
|
|
-->newsession xconnection28 xconnection28 xconnection28
|
|
-->newsession xconnection29 xconnection29 xconnection29
|
|
-->newsession xconnection30 xconnection30 xconnection30
|
|
-->newsession xconnection31 xconnection31 xconnection31
|
|
-->newsession xconnection32 xconnection32 xconnection32
|
|
-->newsession xconnection33 xconnection33 xconnection33
|
|
-->newsession xconnection34 xconnection34 xconnection34
|
|
-->newsession xconnection35 xconnection35 xconnection35
|
|
-->newsession xconnection36 xconnection36 xconnection36
|
|
-->newsession xconnection37 xconnection37 xconnection37
|
|
-->newsession xconnection38 xconnection38 xconnection38
|
|
-->newsession xconnection39 xconnection39 xconnection39
|
|
-->newsession xconnection40 xconnection40 xconnection40
|
|
-->newsession xconnection41 xconnection41 xconnection41
|
|
-->newsession xconnection42 xconnection42 xconnection42
|
|
-->newsession xconnection43 xconnection43 xconnection43
|
|
-->newsession xconnection44 xconnection44 xconnection44
|
|
-->newsession xconnection45 xconnection45 xconnection45
|
|
-->newsession xconnection46 xconnection46 xconnection46
|
|
-->newsession xconnection47 xconnection47 xconnection47
|
|
-->newsession xconnection48 xconnection48 xconnection48
|
|
-->newsession xconnection49 xconnection49 xconnection49
|
|
-->newsession xconnection50 xconnection50 xconnection50
|
|
|
|
-->stmtadmin list_clients
|
|
-->recvresult client_id user host
|
|
|
|
## switch back to default session
|
|
-->setsession
|
|
|
|
-->echo list all connected clients
|
|
-->stmtadmin list_clients
|
|
-->recvresult client_id user host
|
|
|
|
-->echo expect Mysqlx_stmt_list_clients=2 and Mysqlx_stmt_kill_client=0
|
|
quiet;
|
|
callmacro Assert_status_variable Mysqlx_stmt_kill_client 0;
|
|
callmacro Assert_status_variable Mysqlx_stmt_list_clients 2;
|
|
callmacro Assert_status_variable Mysqlx_sessions 51;
|
|
noquiet;
|
|
|
|
|
|
-->echo killing all newly connected clients except x_root,one by one
|
|
callmacro kill_client 11;
|
|
callmacro kill_client 12;
|
|
callmacro kill_client 13;
|
|
callmacro kill_client 14;
|
|
callmacro kill_client 15;
|
|
callmacro kill_client 16;
|
|
callmacro kill_client 17;
|
|
callmacro kill_client 18;
|
|
callmacro kill_client 19;
|
|
callmacro kill_client 20;
|
|
callmacro kill_client 21;
|
|
callmacro kill_client 22;
|
|
callmacro kill_client 23;
|
|
callmacro kill_client 24;
|
|
callmacro kill_client 25;
|
|
callmacro kill_client 26;
|
|
callmacro kill_client 27;
|
|
callmacro kill_client 28;
|
|
callmacro kill_client 29;
|
|
callmacro kill_client 30;
|
|
callmacro kill_client 31;
|
|
callmacro kill_client 32;
|
|
callmacro kill_client 33;
|
|
callmacro kill_client 34;
|
|
callmacro kill_client 35;
|
|
callmacro kill_client 36;
|
|
callmacro kill_client 37;
|
|
callmacro kill_client 38;
|
|
callmacro kill_client 39;
|
|
callmacro kill_client 40;
|
|
callmacro kill_client 41;
|
|
callmacro kill_client 42;
|
|
callmacro kill_client 43;
|
|
callmacro kill_client 44;
|
|
callmacro kill_client 45;
|
|
callmacro kill_client 46;
|
|
callmacro kill_client 47;
|
|
callmacro kill_client 48;
|
|
callmacro kill_client 49;
|
|
callmacro kill_client 50;
|
|
callmacro kill_client 51;
|
|
callmacro kill_client 52;
|
|
callmacro kill_client 53;
|
|
callmacro kill_client 54;
|
|
callmacro kill_client 55;
|
|
callmacro kill_client 56;
|
|
callmacro kill_client 57;
|
|
callmacro kill_client 58;
|
|
callmacro kill_client 59;
|
|
callmacro kill_client 60;
|
|
|
|
|
|
callmacro Wait_for_status_variable Mysqlx_sessions 1;
|
|
|
|
-->stmtadmin list_clients
|
|
-->recvresult client_id user host
|
|
|
|
-->echo expect Mysqlx_stmt_list_clients=3 and Mysqlx_stmt_kill_client=50
|
|
quiet;
|
|
callmacro Assert_status_variable Mysqlx_stmt_kill_client 50;
|
|
callmacro Assert_status_variable Mysqlx_stmt_list_clients 3;
|
|
callmacro Assert_status_variable Mysqlx_sessions 1;
|
|
callmacro Assert_status_variable Mysqlx_sessions_accepted 60;
|
|
callmacro Assert_status_variable Mysqlx_sessions_closed 59;
|
|
callmacro Assert_status_variable Mysqlx_sessions_fatal_error 0;
|
|
callmacro Assert_status_variable Mysqlx_sessions_killed 54;
|
|
callmacro Assert_status_variable Mysqlx_sessions_rejected 0;
|
|
noquiet;
|
|
|
|
drop user xconnection1@localhost;
|
|
drop user xconnection2@localhost;
|
|
drop user xconnection3@localhost;
|
|
drop user xconnection4@localhost;
|
|
drop user xconnection5@localhost;
|
|
drop user xconnection6@localhost;
|
|
drop user xconnection7@localhost;
|
|
drop user xconnection8@localhost;
|
|
drop user xconnection9@localhost;
|
|
drop user xconnection10@localhost;
|
|
drop user xconnection11@localhost;
|
|
drop user xconnection12@localhost;
|
|
drop user xconnection13@localhost;
|
|
drop user xconnection14@localhost;
|
|
drop user xconnection15@localhost;
|
|
drop user xconnection16@localhost;
|
|
drop user xconnection17@localhost;
|
|
drop user xconnection18@localhost;
|
|
drop user xconnection19@localhost;
|
|
drop user xconnection20@localhost;
|
|
drop user xconnection21@localhost;
|
|
drop user xconnection22@localhost;
|
|
drop user xconnection23@localhost;
|
|
drop user xconnection24@localhost;
|
|
drop user xconnection25@localhost;
|
|
drop user xconnection26@localhost;
|
|
drop user xconnection27@localhost;
|
|
drop user xconnection28@localhost;
|
|
drop user xconnection29@localhost;
|
|
drop user xconnection30@localhost;
|
|
drop user xconnection31@localhost;
|
|
drop user xconnection32@localhost;
|
|
drop user xconnection33@localhost;
|
|
drop user xconnection34@localhost;
|
|
drop user xconnection35@localhost;
|
|
drop user xconnection36@localhost;
|
|
drop user xconnection37@localhost;
|
|
drop user xconnection38@localhost;
|
|
drop user xconnection39@localhost;
|
|
drop user xconnection40@localhost;
|
|
drop user xconnection41@localhost;
|
|
drop user xconnection42@localhost;
|
|
drop user xconnection43@localhost;
|
|
drop user xconnection44@localhost;
|
|
drop user xconnection45@localhost;
|
|
drop user xconnection46@localhost;
|
|
drop user xconnection47@localhost;
|
|
drop user xconnection48@localhost;
|
|
drop user xconnection49@localhost;
|
|
drop user xconnection50@localhost;
|
|
|
|
EOF
|
|
|
|
--write_file $MYSQL_TMP_DIR/admin_list_kill_sqlnamespace.tmp
|
|
-->echo execute list_clients,kill_client with sql namespace,expect error
|
|
-->echo change result file once error messages are fixed
|
|
Mysqlx.Sql.StmtExecute {
|
|
stmt: "list_clients"
|
|
namespace: "sql"
|
|
}
|
|
|
|
-->echo expect Mysqlx.Sql.StmtExecuteOk
|
|
-->expecterror ER_PARSE_ERROR
|
|
-->recvresult client_id user host
|
|
|
|
Mysqlx.Sql.StmtExecute {
|
|
stmt: "kill_client"
|
|
namespace: "sql"
|
|
args {
|
|
type: SCALAR
|
|
scalar {
|
|
type: V_UINT
|
|
v_unsigned_int: 11
|
|
}
|
|
}
|
|
}
|
|
|
|
-->echo expect Mysqlx.Sql.StmtExecuteOk
|
|
-->expecterror ER_X_CMD_NUM_ARGUMENTS
|
|
-->recvresult
|
|
|
|
Mysqlx.Sql.StmtExecute {
|
|
stmt: "kill_client"
|
|
namespace: ""
|
|
args {
|
|
type: SCALAR
|
|
scalar {
|
|
type: V_UINT
|
|
v_unsigned_int: 11
|
|
}
|
|
}
|
|
}
|
|
|
|
-->echo expect Mysqlx.Sql.StmtExecuteOk
|
|
-->expecterror ER_X_INVALID_NAMESPACE
|
|
-->recvresult
|
|
|
|
Mysqlx.Sql.StmtExecute {
|
|
stmt: "kill_client"
|
|
namespace: "invalid"
|
|
args {
|
|
type: SCALAR
|
|
scalar {
|
|
type: V_UINT
|
|
v_unsigned_int: 11
|
|
}
|
|
}
|
|
}
|
|
|
|
-->echo expect Mysqlx.Sql.StmtExecuteOk
|
|
-->expecterror ER_X_INVALID_NAMESPACE
|
|
-->recvresult
|
|
|
|
-->echo expect Mysqlx_stmt_list_clients=0 and Mysqlx_stmt_kill_client=0 as these are not executed on right namespace
|
|
quiet;
|
|
callmacro Assert_status_variable Mysqlx_stmt_kill_client 0;
|
|
callmacro Assert_status_variable Mysqlx_stmt_list_clients 0;
|
|
callmacro Assert_status_variable Mysqlx_sessions 1;
|
|
noquiet;
|
|
|
|
EOF
|
|
|
|
--write_file $MYSQL_TMP_DIR/admin_xkill_ssl.tmp
|
|
-->import assert_status_variable.macro
|
|
-->import kill_and_restart.macro
|
|
|
|
-->echo open xconnection with ssl and kill,expect success
|
|
create user con1@localhost identified by 'con1';
|
|
create user con2@localhost identified by 'con2';
|
|
set @@global.mysqlx_max_connections=3;
|
|
|
|
-->echo Test data
|
|
-->stmtadmin list_clients
|
|
-->recvresult client_id user host
|
|
|
|
-->echo expect Mysqlx_stmt_list_clients=1 and Mysqlx_stmt_kill_client=0
|
|
quiet;
|
|
callmacro Assert_status_variable Mysqlx_stmt_kill_client 0;
|
|
callmacro Assert_status_variable Mysqlx_stmt_list_clients 1;
|
|
callmacro Assert_status_variable Mysqlx_sessions 1;
|
|
noquiet;
|
|
|
|
|
|
-->echo create and activate new session con1
|
|
-->newsession con1 con1 con1
|
|
|
|
-->stmtadmin list_clients
|
|
-->recvresult client_id user host
|
|
|
|
-->echo expect Mysqlx_stmt_list_clients=1 and Mysqlx_stmt_kill_client=0
|
|
quiet;
|
|
callmacro Assert_status_variable Mysqlx_stmt_kill_client 0;
|
|
callmacro Assert_status_variable Mysqlx_stmt_list_clients 1;
|
|
callmacro Assert_status_variable Mysqlx_sessions 2;
|
|
noquiet;
|
|
|
|
-->echo open 3rd xprotocol connection where 2 sessions already opened
|
|
-->newsession con2 con2 con2
|
|
|
|
-->echo expect Mysqlx_stmt_list_clients=0 and Mysqlx_stmt_kill_client=0
|
|
quiet;
|
|
callmacro Assert_status_variable Mysqlx_stmt_kill_client 0;
|
|
callmacro Assert_status_variable Mysqlx_stmt_list_clients 0;
|
|
callmacro Assert_status_variable Mysqlx_sessions 3;
|
|
noquiet;
|
|
|
|
## switch back to default session
|
|
-->setsession
|
|
|
|
-->stmtadmin list_clients
|
|
-->recvresult client_id user host
|
|
|
|
callmacro kill_client 63;
|
|
callmacro kill_client 64;
|
|
|
|
callmacro Wait_for_status_variable Mysqlx_sessions 1;
|
|
|
|
-->stmtadmin list_clients
|
|
-->recvresult client_id user host
|
|
|
|
-->echo expect Mysqlx_stmt_list_clients=3 and Mysqlx_stmt_kill_client=2
|
|
drop user con1@localhost;
|
|
drop user con2@localhost;
|
|
|
|
quiet;
|
|
callmacro Assert_status_variable Mysqlx_stmt_kill_client 2;
|
|
callmacro Assert_status_variable Mysqlx_stmt_list_clients 3;
|
|
callmacro Assert_status_variable Mysqlx_sessions 1;
|
|
noquiet;
|
|
|
|
EOF
|
|
|
|
--write_file $MYSQL_TMP_DIR/admin_xkill_ssl_root.tmp
|
|
-->import assert_status_variable.macro
|
|
-->import kill_and_restart.macro
|
|
|
|
-->echo open xconnection with ssl x_root user kill,expect success
|
|
create user con1@localhost identified by 'con1';
|
|
create user con2@localhost identified by 'con2';
|
|
set @@global.mysqlx_max_connections=3;
|
|
|
|
-->echo Test data
|
|
-->stmtadmin list_clients
|
|
-->recvresult client_id user host
|
|
|
|
-->echo create and activate new session con1
|
|
-->newsession con1 con1 con1
|
|
|
|
-->stmtadmin list_clients
|
|
-->recvresult client_id user host
|
|
|
|
-->echo open 3rd xprotocol connection where 2 sessions already opened
|
|
-->newsession con2 con2 con2
|
|
|
|
## switch back to default session
|
|
-->setsession
|
|
|
|
-->stmtadmin list_clients
|
|
-->recvresult client_id user host
|
|
|
|
callmacro kill_client 66;
|
|
callmacro kill_client 67;
|
|
|
|
callmacro Wait_for_status_variable Mysqlx_sessions 1;
|
|
|
|
-->stmtadmin list_clients
|
|
-->recvresult client_id user host
|
|
|
|
drop user con1@localhost;
|
|
drop user con2@localhost;
|
|
|
|
EOF
|
|
|
|
--write_file $MYSQL_TMP_DIR/admin_xkill_compatibility_56_OFF.tmp
|
|
-->import assert_status_variable.macro
|
|
-->import kill_and_restart.macro
|
|
|
|
create user abc@localhost identified by 'abc';
|
|
create user xplugin@localhost identified by 'xplugin';
|
|
grant all on *.* to xplugin@localhost;
|
|
create user process@localhost identified by 'process';
|
|
grant process on *.* to process@localhost;
|
|
create user expire@localhost identified by 'expire';
|
|
grant all on *.* to expire@localhost;
|
|
alter user expire@localhost password expire;
|
|
|
|
-->echo Test data
|
|
-->stmtadmin list_clients
|
|
-->recvresult client_id user host
|
|
|
|
-->echo expect Mysqlx_stmt_list_clients=1 and Mysqlx_stmt_kill_client=0
|
|
quiet;
|
|
callmacro Assert_status_variable Mysqlx_stmt_kill_client 0;
|
|
callmacro Assert_status_variable Mysqlx_stmt_list_clients 1;
|
|
callmacro Assert_status_variable Mysqlx_sessions 1;
|
|
noquiet;
|
|
|
|
|
|
-->echo create and activate new session
|
|
-->newsession aux x_root
|
|
|
|
-->stmtadmin list_clients
|
|
-->recvresult client_id user host
|
|
|
|
-->echo expect Mysqlx_stmt_list_clients=1 and Mysqlx_stmt_kill_client=0 even with another new x_root session
|
|
quiet;
|
|
callmacro Assert_status_variable Mysqlx_stmt_kill_client 0;
|
|
callmacro Assert_status_variable Mysqlx_stmt_list_clients 1;
|
|
callmacro Assert_status_variable Mysqlx_sessions 2;
|
|
noquiet;
|
|
|
|
|
|
-->echo switch back to default session
|
|
-->setsession
|
|
|
|
-->stmtadmin list_clients
|
|
-->recvresult client_id user host
|
|
|
|
-->echo expect Mysqlx_stmt_list_clients=2 and Mysqlx_stmt_kill_client=0 with default x_root session where list_clients already executed
|
|
quiet;
|
|
callmacro Assert_status_variable Mysqlx_stmt_kill_client 0;
|
|
callmacro Assert_status_variable Mysqlx_stmt_list_clients 2;
|
|
callmacro Assert_status_variable Mysqlx_sessions 2;
|
|
noquiet;
|
|
|
|
callmacro kill_client 2;
|
|
|
|
callmacro Wait_for_status_variable Mysqlx_sessions 1;
|
|
|
|
-->stmtadmin list_clients
|
|
-->recvresult client_id user host
|
|
|
|
-->echo expect Mysqlx_stmt_list_clients=3 and Mysqlx_stmt_kill_client=1 with default x_root session where list_clients executed 3 times and kill_client once
|
|
quiet;
|
|
callmacro Assert_status_variable Mysqlx_stmt_kill_client 1;
|
|
callmacro Assert_status_variable Mysqlx_stmt_list_clients 3;
|
|
callmacro Assert_status_variable Mysqlx_sessions 1;
|
|
noquiet;
|
|
|
|
-->echo create and activate new session abc
|
|
-->echo expect only abc user session id
|
|
-->newsession abc abc abc
|
|
|
|
-->stmtadmin list_clients
|
|
-->recvresult client_id user host
|
|
|
|
-->echo killing x_root user session with unprivileged user 'abc' which should be unsuccessful
|
|
callmacro kill_client_expect_error 1 ER_KILL_DENIED_ERROR;
|
|
|
|
-->echo expect ERROR: SELECT command denied to user 'abc'@'localhost' for table 'session_status' (code 1142) for show status command
|
|
quiet;
|
|
callmacro Assert_status_variable Mysqlx_stmt_kill_client 1;
|
|
callmacro Assert_status_variable Mysqlx_stmt_list_clients 1;
|
|
callmacro Assert_status_variable Mysqlx_sessions 2;
|
|
noquiet;
|
|
|
|
-->echo open another session of abc user and kill first session of abc user,which should be successful
|
|
-->newsession abc1 abc abc
|
|
|
|
-->stmtadmin list_clients
|
|
-->recvresult client_id user host
|
|
|
|
callmacro kill_client 3;
|
|
|
|
callmacro Wait_for_status_variable Mysqlx_sessions 2;
|
|
|
|
-->stmtadmin list_clients
|
|
-->recvresult client_id user host
|
|
|
|
-->echo expect ERROR: SELECT command denied to user 'abc'@'localhost' for table 'session_status' (code 1142) for show status command
|
|
quiet;
|
|
callmacro Assert_status_variable Mysqlx_stmt_kill_client 1;
|
|
callmacro Assert_status_variable Mysqlx_stmt_list_clients 2;
|
|
callmacro Assert_status_variable Mysqlx_sessions 2;
|
|
noquiet;
|
|
|
|
-->echo killing abc user session with its own session 'abc' which should be successful
|
|
-->echo expect right error instead of End of File
|
|
Mysqlx.Sql.StmtExecute {
|
|
stmt: "kill_client"
|
|
namespace: "xplugin"
|
|
args {
|
|
type: SCALAR
|
|
scalar {
|
|
type: V_UINT
|
|
v_unsigned_int: 4
|
|
}
|
|
}
|
|
}
|
|
|
|
#-->echo expect Mysqlx.Sql.StmtExecuteOk
|
|
#-->recvresult
|
|
-->echo switch back to default session
|
|
-->recvuntildisc
|
|
|
|
callmacro Wait_for_status_variable Mysqlx_sessions 1;
|
|
|
|
-->stmtadmin list_clients
|
|
-->recvresult client_id user host
|
|
|
|
-->echo expect Mysqlx_stmt_list_clients=4 and Mysqlx_stmt_kill_client=1 with default x_root session where list_clients executed 4 times and kill_client once
|
|
quiet;
|
|
callmacro Assert_status_variable Mysqlx_stmt_kill_client 1;
|
|
callmacro Assert_status_variable Mysqlx_stmt_list_clients 4;
|
|
callmacro Assert_status_variable Mysqlx_sessions 1;
|
|
noquiet;
|
|
|
|
-->echo open process only privileged user seession and kill x_root user session,expect error "You are not owner of thread"
|
|
-->newsession process process process
|
|
-->stmtadmin list_clients
|
|
-->recvresult client_id user host
|
|
|
|
callmacro kill_client_expect_error 1 ER_KILL_DENIED_ERROR;
|
|
|
|
callmacro Wait_for_status_variable Mysqlx_sessions 2;
|
|
|
|
-->echo checking list of clients after x_root user session killed by xplugin user
|
|
-->stmtadmin list_clients
|
|
-->recvresult client_id user host
|
|
|
|
-->echo expect ERROR: SELECT command denied to user 'process'@'localhost' for table 'session_status' (code 1142) for show command
|
|
quiet;
|
|
callmacro Assert_status_variable Mysqlx_stmt_kill_client 1;
|
|
callmacro Assert_status_variable Mysqlx_stmt_list_clients 2;
|
|
callmacro Assert_status_variable Mysqlx_sessions 2;
|
|
noquiet;
|
|
|
|
-->echo open privileged user seession and kill x_root user session,expect success
|
|
-->newsession xplugin xplugin xplugin
|
|
|
|
-->stmtadmin list_clients
|
|
-->recvresult client_id user host
|
|
|
|
callmacro kill_client 1;
|
|
|
|
callmacro Wait_for_status_variable Mysqlx_sessions 2;
|
|
|
|
-->echo checking list of clients after x_root user session killed by xplugin user
|
|
|
|
-->stmtadmin list_clients
|
|
-->recvresult client_id user host
|
|
|
|
-->echo expect Mysqlx_stmt_list_clients=2 and Mysqlx_stmt_kill_client=1 with xplugin user where list_clients executed 2 times and kill_client once
|
|
quiet;
|
|
callmacro Assert_status_variable Mysqlx_stmt_kill_client 1;
|
|
callmacro Assert_status_variable Mysqlx_stmt_list_clients 2;
|
|
callmacro Assert_status_variable Mysqlx_sessions 2;
|
|
noquiet;
|
|
|
|
-->echo Cleanup
|
|
drop schema if exists xtest;
|
|
|
|
EOF
|
|
|
|
--replace_regex /([a-z0-9]+ localhost )[0-9]+/\1$SESSION/ /You are not owner of thread [0-9]+/You are not owner of thread/
|
|
--exec $MYSQLXTEST -ux_root --password='' --file=$MYSQL_TMP_DIR/admin_xkill.tmp 2>&1
|
|
--replace_regex /([a-z0-9]+ localhost )[0-9]+/\1$SESSION/
|
|
--exec $MYSQLXTEST -ux_root --password='' --file=$MYSQL_TMP_DIR/admin_xkill_invaliddtype.tmp 2>&1
|
|
|
|
##try executing list_clients and kill_client with password expired user, expect error
|
|
--replace_regex /([a-z0-9]+ localhost )[0-9]+/\1$SESSION/ /Query/Execute/
|
|
--exec $MYSQLXTEST --connect-expired-password -uexpire --password='expire' --file=$MYSQL_TMP_DIR/admin_xkill_pwd_expire.tmp 2>&1
|
|
|
|
##execute list_clients and kill_client with mixed case,expect command should be recognized
|
|
--replace_regex /([a-z0-9]+ localhost )[0-9]+/\1$SESSION/
|
|
--exec $MYSQLXTEST -ux_root --password='' --file=$MYSQL_TMP_DIR/admin_mixedcase.tmp 2>&1
|
|
|
|
##open 100 xprotocol connections and list and kill them ony by one,expect success
|
|
--replace_regex /([a-z0-9]+ localhost )[0-9]+/\1$SESSION/
|
|
--exec $MYSQLXTEST -ux_root --password='' --file=$MYSQL_TMP_DIR/admin_list_kill_100conns.tmp 2>&1
|
|
|
|
##execute list_clients,kill_client with invalid name space other than xplugin,exect unsuccess
|
|
--replace_regex /([a-z0-9]+ localhost )[0-9]+/\1$SESSION/
|
|
--exec $MYSQLXTEST -ux_root --password='' --file=$MYSQL_TMP_DIR/admin_list_kill_sqlnamespace.tmp 2>&1
|
|
|
|
##verify list_clients and kill_client works with ssl privileged user
|
|
--replace_regex /([a-z0-9]+ localhost )[0-9]+/\1$SESSION/
|
|
--exec $MYSQLXTEST -usslcon --password='sslcon' --ssl-key=$MYSQL_TEST_DIR/std_data/server-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/server-cert.pem --file=$MYSQL_TMP_DIR/admin_xkill_ssl.tmp 2>&1
|
|
|
|
##verify list_clients and kill_client works with x_root user having ssl
|
|
--replace_regex /([a-z0-9]+ localhost )[0-9]+/\1$SESSION/
|
|
--exec $MYSQLXTEST -ux_root --password='' --ssl-key=$MYSQL_TEST_DIR/std_data/server-key.pem --ssl-cert=$MYSQL_TEST_DIR/std_data/server-cert.pem --file=$MYSQL_TMP_DIR/admin_xkill_ssl_root.tmp 2>&1
|
|
##expect sum of all stats of kill_client,list_clients with native mysql clients as these are global to mysql client and local to mysqlx session
|
|
show status like 'Mysqlx_stmt%client%';
|
|
#show status like 'Mysqlx_sessions%';
|
|
|
|
##verify Mysqlx_stmt_kill_client and Mysqlx_stmt_list_clients
|
|
let $restart_parameters = restart: ;
|
|
--source include/restart_mysqld.inc
|
|
drop user abc@localhost;
|
|
drop user xplugin@localhost;
|
|
drop user process@localhost;
|
|
drop user expire@localhost;
|
|
###expects zero stats for kill_client,list_clients once server started first time
|
|
set @@global.mysqlx_max_connections=100;
|
|
show status like 'Mysqlx_stmt%client%';
|
|
select sleep(0.5);
|
|
--replace_regex /([a-z0-9]+ localhost )[0-9]+/\1$SESSION/ /You are not owner of thread [0-9]+/You are not owner of thread/
|
|
--exec $MYSQLXTEST -ux_root --password='' --file=$MYSQL_TMP_DIR/admin_xkill_compatibility_56_OFF.tmp 2>&1
|
|
##expect sum of all stats of kill_client,list_clients with native mysql clients as these are global to mysql client and local to mysqlx session
|
|
##seems to be it is not working that way
|
|
show status like 'Mysqlx_stmt%client%';
|
|
|
|
## Cleanup
|
|
drop user abc@localhost;
|
|
drop user xplugin@localhost;
|
|
drop user process@localhost;
|
|
drop user expire@localhost;
|
|
drop user sslcon@localhost;
|
|
--remove_file $MYSQL_TMP_DIR/admin_xkill.tmp
|
|
--remove_file $MYSQL_TMP_DIR/admin_xkill_ssl.tmp
|
|
--remove_file $MYSQL_TMP_DIR/admin_xkill_ssl_root.tmp
|
|
--remove_file $MYSQL_TMP_DIR/admin_xkill_invaliddtype.tmp
|
|
--remove_file $MYSQL_TMP_DIR/admin_xkill_pwd_expire.tmp
|
|
--remove_file $MYSQL_TMP_DIR/admin_mixedcase.tmp
|
|
--remove_file $MYSQL_TMP_DIR/admin_list_kill_100conns.tmp
|
|
--remove_file $MYSQL_TMP_DIR/admin_list_kill_sqlnamespace.tmp
|
|
--remove_file $MYSQL_TMP_DIR/admin_xkill_compatibility_56_OFF.tmp
|
|
--source include/xplugin_drop_user.inc
|