1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
#
# MDEV-24208 SHOW RELAYLOG EVENTS command is not supported in the prepared
# statement protocol yet
#
CREATE USER u1;
include/master-slave.inc
[connection master]
connection master;
CREATE TABLE t1(n INT);
DROP TABLE t1;
connection slave;
PREPARE stmt_1 FROM 'SHOW BINLOG EVENTS';
EXECUTE stmt_1;
Log_name Pos Event_type Server_id End_log_pos Info
# # Format_desc # # #
# # Gtid_list # # []
# # Binlog_checkpoint # # #
# # Gtid # # GTID 0-1-1
# # Query # # use `test`; CREATE TABLE t1(n INT)
# # Gtid # # GTID 0-1-2
# # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by server */
# Execute the same prepared statement the second time to check that
# no internal structures used for handling the statement
# 'SHOW BINLOG EVENTS' were damaged.
EXECUTE stmt_1;
Log_name Pos Event_type Server_id End_log_pos Info
# # Format_desc # # #
# # Gtid_list # # []
# # Binlog_checkpoint # # #
# # Gtid # # GTID 0-1-1
# # Query # # use `test`; CREATE TABLE t1(n INT)
# # Gtid # # GTID 0-1-2
# # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by server */
DEALLOCATE PREPARE stmt_1;
connection slave;
PREPARE stmt_1 FROM 'SHOW RELAYLOG EVENTS';
EXECUTE stmt_1;
Log_name Pos Event_type Server_id End_log_pos Info
slave-relay-bin.000001 # Format_desc # # #
slave-relay-bin.000001 # Rotate # # #
# Execute the same prepared statement the second time to check that
# no internal structures used for handling the statement
# 'SHOW RELAYLOG EVENTS' were damaged.
EXECUTE stmt_1;
Log_name Pos Event_type Server_id End_log_pos Info
slave-relay-bin.000001 # Format_desc # # #
slave-relay-bin.000001 # Rotate # # #
DEALLOCATE PREPARE stmt_1;
# Create the user u1 without the REPLICATION SLAVE privilege required
# for running the statements SHOW BINLOG EVENTS/SHOW RELAYLOG EVENTS
# and check that attempt to execute the statements SHOW BINLOG EVENTS/
# SHOW RELAYLOG EVENTS as a prepred statements by a user without required
# privileges results in error.
connect con2,localhost,u1,,"*NO-ONE*";
PREPARE stmt_1 FROM 'SHOW BINLOG EVENTS';
EXECUTE stmt_1;
ERROR 42000: Access denied; you need (at least one of) the BINLOG MONITOR privilege(s) for this operation
PREPARE stmt_1 FROM 'SHOW RELAYLOG EVENTS';
EXECUTE stmt_1;
ERROR 42000: Access denied; you need (at least one of) the SLAVE MONITOR privilege(s) for this operation
DEALLOCATE PREPARE stmt_1;
include/rpl_end.inc
connection default;
DROP USER u1;
# End of 10.2 tests
|