mirror of
https://github.com/MariaDB/server.git
synced 2025-01-29 02:05:57 +01:00
MDEV-33212: mysqldump uses MASTER_LOG_POS with dump-slave
The patch for MDEV-15530 incorrectly added a column in the middle of SHOW SLAVE STATUS output. This is wrong, as it breaks backwards compatibility with existing applications and scripts. In this case, it even broke mariadb-dump, which is included in the server source tree! Revert the incorrect change, putting the new Replicate_Rewrite_DB at the end of SHOW SLAVE STATUS output. Add a testcase for the mariadb-dump --dump-slave wrong output problem. Also add a testcase rpl.rpl_show_slave_status to hopefully prevent any future incorrect additions to SHOW SLAVE STATUS. Signed-off-by: Kristian Nielsen <knielsen@knielsen-hq.org>
This commit is contained in:
parent
11c75fc396
commit
23c48474f7
12 changed files with 175 additions and 28 deletions
|
@ -32,7 +32,6 @@ if ($tmp)
|
|||
--echo Relay_Master_Log_File #
|
||||
--echo Slave_IO_Running No
|
||||
--echo Slave_SQL_Running No
|
||||
--echo Replicate_Rewrite_DB #
|
||||
--echo Replicate_Do_DB #
|
||||
--echo Replicate_Ignore_DB #
|
||||
--echo Replicate_Do_Table #
|
||||
|
@ -74,13 +73,22 @@ if ($tmp)
|
|||
--echo Slave_DDL_Groups #
|
||||
--echo Slave_Non_Transactional_Groups #
|
||||
--echo Slave_Transactional_Groups #
|
||||
--echo Replicate_Rewrite_DB #
|
||||
}
|
||||
if (!$tmp) {
|
||||
# Note: after WL#5177, fields 13-18 shall not be filtered-out.
|
||||
--replace_column 4 # 5 # 6 # 7 # 8 # 9 # 10 # 13 # 14 # 15 # 16 # 17 # 18 # 19 # 23 # 24 # 25 # 26 # 27 # 41 # 42 # 43 # 45 # 52 # 53 # 54 #
|
||||
--replace_column 4 # 5 # 6 # 7 # 8 # 9 # 10 # 13 # 14 # 15 # 16 # 17 # 18 # 22 # 23 # 24 # 25 # 26 # 40 # 41 # 42 # 44 # 51 # 52 # 53 # 54 #
|
||||
query_vertical
|
||||
SHOW SLAVE STATUS;
|
||||
}
|
||||
#
|
||||
# Note, we must never, _ever_, add extra rows to this output of SHOW SLAVE
|
||||
# STATUS, except at the very end, as this breaks backwards compatibility
|
||||
# with applications or scripts that parse the output. This also means that
|
||||
# we cannot add _any_ new rows in a GA version if a different row was
|
||||
# already added in a later MariaDB version, as this would make it impossible
|
||||
# to merge the change up while preserving the order of rows.
|
||||
#
|
||||
|
||||
#
|
||||
# Ensure that we don't get warnings from mysql.proc (used by check_mysqld)
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
# Supported formats:
|
||||
# - (default) : "FOUND n /pattern/ in FILE " or "NOT FOUND ..."
|
||||
# - "matches" : Each match is printed, on a separate line
|
||||
# - "count" : "FOUND n matches in FILE" or "NOT FOUND ..." (omit pattern)
|
||||
#
|
||||
# In case of
|
||||
# - SEARCH_FILE and/or SEARCH_PATTERN is not set
|
||||
|
@ -113,6 +114,10 @@ perl;
|
|||
print $_ . "\n";
|
||||
}
|
||||
}
|
||||
elsif ($ENV{SEARCH_OUTPUT} eq "count")
|
||||
{
|
||||
print "$res matches in $ENV{SEARCH_FILE}\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
print "$res /$search_pattern/ in $ENV{SEARCH_FILE}\n";
|
||||
|
|
|
@ -219,4 +219,8 @@ connection master;
|
|||
-- CHANGE MASTER TO MASTER_LOG_FILE='master-bin.000002', MASTER_LOG_POS=BINLOG_START;
|
||||
connection slave;
|
||||
include/start_slave.inc
|
||||
connection master;
|
||||
connection slave;
|
||||
connection master;
|
||||
FOUND 1 matches in MDEV-33212.sql
|
||||
include/rpl_end.inc
|
||||
|
|
|
@ -198,4 +198,20 @@ if ($postdump_first_binary_log_filename != $postdump_binlog_filename)
|
|||
connection slave;
|
||||
--source include/start_slave.inc
|
||||
|
||||
# MDEV-33212: mysqldump uses MASTER_LOG_POS with dump-slave
|
||||
# The bug was that the MASTER_LOG_POS was wrong. So check that it is correct.
|
||||
--connection master
|
||||
--let $pos= query_get_value(SHOW MASTER STATUS, Position, 1)
|
||||
--sync_slave_with_master
|
||||
--connection master
|
||||
--exec $MYSQL_DUMP_SLAVE --compact --dump-slave test >$MYSQLTEST_VARDIR/tmp/MDEV-33212.sql
|
||||
--let SEARCH_RANGE=500000000
|
||||
--let SEARCH_FILE=$MYSQLTEST_VARDIR/tmp/MDEV-33212.sql
|
||||
--let SEARCH_PATTERN= MASTER_LOG_POS=$pos
|
||||
--let SEARCH_OUTPUT=count
|
||||
--source include/search_pattern_in_file.inc
|
||||
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/MDEV-33212.sql
|
||||
|
||||
|
||||
--source include/rpl_end.inc
|
||||
|
|
|
@ -94,17 +94,17 @@ MASTER 2.2
|
|||
# EOF
|
||||
#
|
||||
show all slaves status;
|
||||
Connection_name Slave_SQL_State Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Rewrite_DB Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id Master_SSL_Crl Master_SSL_Crlpath Using_Gtid Gtid_IO_Pos Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids Parallel_Mode SQL_Delay SQL_Remaining_Delay Slave_SQL_Running_State Slave_DDL_Groups Slave_Non_Transactional_Groups Slave_Transactional_Groups Retried_transactions Max_relay_log_size Executed_log_entries Slave_received_heartbeats Slave_heartbeat_period Gtid_Slave_Pos
|
||||
Slave has read all relay log; waiting for more updates Waiting for master to send event 127.0.0.1 root MYPORT_1 60 master-bin.000001 <read_master_log_pos> relay.000002 <relay_log_pos> master-bin.000001 Yes Yes 0 0 <read_master_log_pos> <relay_log_space1> None 0 No 0 No 0 0 1 No optimistic 0 NULL Slave has read all relay log; waiting for more updates 0 0 0 0 1073741824 7 0 60.000
|
||||
MASTER 2.2 Slave has read all relay log; waiting for more updates Waiting for master to send event 127.0.0.1 root MYPORT_2 60 master-bin.000001 <read_master_log_pos> relay-master@00202@002e2.000002 <relay_log_pos> master-bin.000001 Yes Yes 0 0 <read_master_log_pos> <relay_log_space2> None 0 No 0 No 0 0 2 No optimistic 0 NULL Slave has read all relay log; waiting for more updates 0 0 0 0 1073741824 7 0 60.000
|
||||
Connection_name Slave_SQL_State Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id Master_SSL_Crl Master_SSL_Crlpath Using_Gtid Gtid_IO_Pos Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids Parallel_Mode SQL_Delay SQL_Remaining_Delay Slave_SQL_Running_State Slave_DDL_Groups Slave_Non_Transactional_Groups Slave_Transactional_Groups Replicate_Rewrite_DB Retried_transactions Max_relay_log_size Executed_log_entries Slave_received_heartbeats Slave_heartbeat_period Gtid_Slave_Pos
|
||||
Slave has read all relay log; waiting for more updates Waiting for master to send event 127.0.0.1 root MYPORT_1 60 master-bin.000001 <read_master_log_pos> relay.000002 <relay_log_pos> master-bin.000001 Yes Yes 0 0 <read_master_log_pos> <relay_log_space1> None 0 No 0 No 0 0 1 No optimistic 0 NULL Slave has read all relay log; waiting for more updates 0 0 0 0 1073741824 7 0 60.000
|
||||
MASTER 2.2 Slave has read all relay log; waiting for more updates Waiting for master to send event 127.0.0.1 root MYPORT_2 60 master-bin.000001 <read_master_log_pos> relay-master@00202@002e2.000002 <relay_log_pos> master-bin.000001 Yes Yes 0 0 <read_master_log_pos> <relay_log_space2> None 0 No 0 No 0 0 2 No optimistic 0 NULL Slave has read all relay log; waiting for more updates 0 0 0 0 1073741824 7 0 60.000
|
||||
include/wait_for_slave_to_start.inc
|
||||
set default_master_connection = 'MASTER 2.2';
|
||||
include/wait_for_slave_to_start.inc
|
||||
set default_master_connection = '';
|
||||
show all slaves status;
|
||||
Connection_name Slave_SQL_State Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Rewrite_DB Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id Master_SSL_Crl Master_SSL_Crlpath Using_Gtid Gtid_IO_Pos Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids Parallel_Mode SQL_Delay SQL_Remaining_Delay Slave_SQL_Running_State Slave_DDL_Groups Slave_Non_Transactional_Groups Slave_Transactional_Groups Retried_transactions Max_relay_log_size Executed_log_entries Slave_received_heartbeats Slave_heartbeat_period Gtid_Slave_Pos
|
||||
Slave has read all relay log; waiting for more updates Waiting for master to send event 127.0.0.1 root MYPORT_1 60 master-bin.000001 <read_master_log_pos> relay.000004 <relay_log_pos> master-bin.000001 Yes Yes 0 0 <read_master_log_pos> <relay_log_space1> None 0 No 0 No 0 0 1 No optimistic 0 NULL Slave has read all relay log; waiting for more updates 0 0 0 0 1073741824 6 0 60.000
|
||||
MASTER 2.2 Slave has read all relay log; waiting for more updates Waiting for master to send event 127.0.0.1 root MYPORT_2 60 master-bin.000001 <read_master_log_pos> relay-master@00202@002e2.000004 <relay_log_pos> master-bin.000001 Yes Yes 0 0 <read_master_log_pos> <relay_log_space2> None 0 No 0 No 0 0 2 No optimistic 0 NULL Slave has read all relay log; waiting for more updates 0 0 0 0 1073741824 6 0 60.000
|
||||
Connection_name Slave_SQL_State Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id Master_SSL_Crl Master_SSL_Crlpath Using_Gtid Gtid_IO_Pos Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids Parallel_Mode SQL_Delay SQL_Remaining_Delay Slave_SQL_Running_State Slave_DDL_Groups Slave_Non_Transactional_Groups Slave_Transactional_Groups Replicate_Rewrite_DB Retried_transactions Max_relay_log_size Executed_log_entries Slave_received_heartbeats Slave_heartbeat_period Gtid_Slave_Pos
|
||||
Slave has read all relay log; waiting for more updates Waiting for master to send event 127.0.0.1 root MYPORT_1 60 master-bin.000001 <read_master_log_pos> relay.000004 <relay_log_pos> master-bin.000001 Yes Yes 0 0 <read_master_log_pos> <relay_log_space1> None 0 No 0 No 0 0 1 No optimistic 0 NULL Slave has read all relay log; waiting for more updates 0 0 0 0 1073741824 6 0 60.000
|
||||
MASTER 2.2 Slave has read all relay log; waiting for more updates Waiting for master to send event 127.0.0.1 root MYPORT_2 60 master-bin.000001 <read_master_log_pos> relay-master@00202@002e2.000004 <relay_log_pos> master-bin.000001 Yes Yes 0 0 <read_master_log_pos> <relay_log_space2> None 0 No 0 No 0 0 2 No optimistic 0 NULL Slave has read all relay log; waiting for more updates 0 0 0 0 1073741824 6 0 60.000
|
||||
#
|
||||
# List of files matching '*info*' pattern
|
||||
# after slave server restart
|
||||
|
|
|
@ -34,7 +34,6 @@ Relay_Log_Pos <relay_log_pos>
|
|||
Relay_Master_Log_File master-bin.000001
|
||||
Slave_IO_Running Yes
|
||||
Slave_SQL_Running Yes
|
||||
Replicate_Rewrite_DB
|
||||
Replicate_Do_DB
|
||||
Replicate_Ignore_DB
|
||||
Replicate_Do_Table
|
||||
|
@ -76,6 +75,7 @@ Slave_SQL_Running_State Slave has read all relay log; waiting for more updates
|
|||
Slave_DDL_Groups 0
|
||||
Slave_Non_Transactional_Groups 0
|
||||
Slave_Transactional_Groups 0
|
||||
Replicate_Rewrite_DB
|
||||
Retried_transactions 0
|
||||
Max_relay_log_size 1073741824
|
||||
Executed_log_entries 7
|
||||
|
@ -96,7 +96,6 @@ Relay_Log_Pos <relay_log_pos>
|
|||
Relay_Master_Log_File master-bin.000001
|
||||
Slave_IO_Running Yes
|
||||
Slave_SQL_Running Yes
|
||||
Replicate_Rewrite_DB
|
||||
Replicate_Do_DB
|
||||
Replicate_Ignore_DB
|
||||
Replicate_Do_Table
|
||||
|
@ -138,6 +137,7 @@ Slave_SQL_Running_State Slave has read all relay log; waiting for more updates
|
|||
Slave_DDL_Groups 0
|
||||
Slave_Non_Transactional_Groups 0
|
||||
Slave_Transactional_Groups 0
|
||||
Replicate_Rewrite_DB
|
||||
Retried_transactions 0
|
||||
Max_relay_log_size 1073741824
|
||||
Executed_log_entries 7
|
||||
|
|
|
@ -13,15 +13,15 @@ insert into t1 values (1),(2);
|
|||
connection slave;
|
||||
stop slave 'master1';
|
||||
show slave 'master1' status;
|
||||
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Rewrite_DB Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id Master_SSL_Crl Master_SSL_Crlpath Using_Gtid Gtid_IO_Pos Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids Parallel_Mode SQL_Delay SQL_Remaining_Delay Slave_SQL_Running_State Slave_DDL_Groups Slave_Non_Transactional_Groups Slave_Transactional_Groups
|
||||
127.0.0.1 root MYPORT_1 60 master-bin.000001 <read_master_log_pos> mysqld-relay-bin-master1.000002 <relay_log_pos> master-bin.000001 No No 0 0 <read_master_log_pos> <relay_log_space> None 0 No NULL No 0 0 1 Slave_Pos 0-1-3 optimistic 0 NULL 2 1 0
|
||||
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id Master_SSL_Crl Master_SSL_Crlpath Using_Gtid Gtid_IO_Pos Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids Parallel_Mode SQL_Delay SQL_Remaining_Delay Slave_SQL_Running_State Slave_DDL_Groups Slave_Non_Transactional_Groups Slave_Transactional_Groups Replicate_Rewrite_DB
|
||||
127.0.0.1 root MYPORT_1 60 master-bin.000001 <read_master_log_pos> mysqld-relay-bin-master1.000002 <relay_log_pos> master-bin.000001 No No 0 0 <read_master_log_pos> <relay_log_space> None 0 No NULL No 0 0 1 Slave_Pos 0-1-3 optimistic 0 NULL 2 1 0
|
||||
mysqld-relay-bin-master1.000001
|
||||
mysqld-relay-bin-master1.000002
|
||||
mysqld-relay-bin-master1.index
|
||||
reset slave 'master1';
|
||||
show slave 'master1' status;
|
||||
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Rewrite_DB Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id Master_SSL_Crl Master_SSL_Crlpath Using_Gtid Gtid_IO_Pos Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids Parallel_Mode SQL_Delay SQL_Remaining_Delay Slave_SQL_Running_State Slave_DDL_Groups Slave_Non_Transactional_Groups Slave_Transactional_Groups
|
||||
127.0.0.1 root MYPORT_1 60 4 <relay_log_pos> No No 0 0 0 <relay_log_space> None 0 No NULL No 0 0 1 Slave_Pos optimistic 0 NULL 2 1 0
|
||||
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id Master_SSL_Crl Master_SSL_Crlpath Using_Gtid Gtid_IO_Pos Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids Parallel_Mode SQL_Delay SQL_Remaining_Delay Slave_SQL_Running_State Slave_DDL_Groups Slave_Non_Transactional_Groups Slave_Transactional_Groups Replicate_Rewrite_DB
|
||||
127.0.0.1 root MYPORT_1 60 4 <relay_log_pos> No No 0 0 0 <relay_log_space> None 0 No NULL No 0 0 1 Slave_Pos optimistic 0 NULL 2 1 0
|
||||
reset slave 'master1' all;
|
||||
show slave 'master1' status;
|
||||
ERROR HY000: There is no master connection 'master1'
|
||||
|
|
|
@ -32,7 +32,6 @@ Relay_Log_Pos <relay_log_pos>
|
|||
Relay_Master_Log_File master-bin.000001
|
||||
Slave_IO_Running Yes
|
||||
Slave_SQL_Running Yes
|
||||
Replicate_Rewrite_DB
|
||||
Replicate_Do_DB
|
||||
Replicate_Ignore_DB
|
||||
Replicate_Do_Table
|
||||
|
@ -74,6 +73,7 @@ Slave_SQL_Running_State Slave has read all relay log; waiting for more updates
|
|||
Slave_DDL_Groups 0
|
||||
Slave_Non_Transactional_Groups 0
|
||||
Slave_Transactional_Groups 0
|
||||
Replicate_Rewrite_DB
|
||||
Retried_transactions 0
|
||||
Max_relay_log_size 1073741824
|
||||
Executed_log_entries 7
|
||||
|
@ -94,7 +94,6 @@ Relay_Log_Pos <relay_log_pos>
|
|||
Relay_Master_Log_File master-bin.000001
|
||||
Slave_IO_Running Yes
|
||||
Slave_SQL_Running Yes
|
||||
Replicate_Rewrite_DB
|
||||
Replicate_Do_DB
|
||||
Replicate_Ignore_DB
|
||||
Replicate_Do_Table
|
||||
|
@ -136,6 +135,7 @@ Slave_SQL_Running_State Slave has read all relay log; waiting for more updates
|
|||
Slave_DDL_Groups 0
|
||||
Slave_Non_Transactional_Groups 0
|
||||
Slave_Transactional_Groups 0
|
||||
Replicate_Rewrite_DB
|
||||
Retried_transactions 0
|
||||
Max_relay_log_size 1073741824
|
||||
Executed_log_entries 7
|
||||
|
@ -221,7 +221,6 @@ Relay_Log_Pos <relay_log_pos>
|
|||
Relay_Master_Log_File master-bin.000001
|
||||
Slave_IO_Running No
|
||||
Slave_SQL_Running No
|
||||
Replicate_Rewrite_DB
|
||||
Replicate_Do_DB
|
||||
Replicate_Ignore_DB
|
||||
Replicate_Do_Table
|
||||
|
@ -263,6 +262,7 @@ Slave_SQL_Running_State
|
|||
Slave_DDL_Groups 0
|
||||
Slave_Non_Transactional_Groups 0
|
||||
Slave_Transactional_Groups 0
|
||||
Replicate_Rewrite_DB
|
||||
reset slave 'slave1';
|
||||
show all slaves status;
|
||||
Connection_name slave1
|
||||
|
@ -279,7 +279,6 @@ Relay_Log_Pos <relay_log_pos>
|
|||
Relay_Master_Log_File
|
||||
Slave_IO_Running No
|
||||
Slave_SQL_Running No
|
||||
Replicate_Rewrite_DB
|
||||
Replicate_Do_DB
|
||||
Replicate_Ignore_DB
|
||||
Replicate_Do_Table
|
||||
|
@ -321,6 +320,7 @@ Slave_SQL_Running_State
|
|||
Slave_DDL_Groups 0
|
||||
Slave_Non_Transactional_Groups 0
|
||||
Slave_Transactional_Groups 0
|
||||
Replicate_Rewrite_DB
|
||||
Retried_transactions 0
|
||||
Max_relay_log_size 1073741824
|
||||
Executed_log_entries 7
|
||||
|
@ -341,7 +341,6 @@ Relay_Log_Pos <relay_log_pos>
|
|||
Relay_Master_Log_File master-bin.000001
|
||||
Slave_IO_Running Yes
|
||||
Slave_SQL_Running Yes
|
||||
Replicate_Rewrite_DB
|
||||
Replicate_Do_DB
|
||||
Replicate_Ignore_DB
|
||||
Replicate_Do_Table
|
||||
|
@ -383,6 +382,7 @@ Slave_SQL_Running_State Slave has read all relay log; waiting for more updates
|
|||
Slave_DDL_Groups 0
|
||||
Slave_Non_Transactional_Groups 0
|
||||
Slave_Transactional_Groups 0
|
||||
Replicate_Rewrite_DB
|
||||
Retried_transactions 0
|
||||
Max_relay_log_size 1073741824
|
||||
Executed_log_entries 7
|
||||
|
@ -405,7 +405,6 @@ Relay_Log_Pos <relay_log_pos>
|
|||
Relay_Master_Log_File master-bin.000001
|
||||
Slave_IO_Running Yes
|
||||
Slave_SQL_Running Yes
|
||||
Replicate_Rewrite_DB
|
||||
Replicate_Do_DB
|
||||
Replicate_Ignore_DB
|
||||
Replicate_Do_Table
|
||||
|
@ -447,6 +446,7 @@ Slave_SQL_Running_State Slave has read all relay log; waiting for more updates
|
|||
Slave_DDL_Groups 0
|
||||
Slave_Non_Transactional_Groups 0
|
||||
Slave_Transactional_Groups 0
|
||||
Replicate_Rewrite_DB
|
||||
Retried_transactions 0
|
||||
Max_relay_log_size 1073741824
|
||||
Executed_log_entries 7
|
||||
|
@ -471,7 +471,6 @@ Relay_Log_Pos <relay_log_pos>
|
|||
Relay_Master_Log_File master-bin.000001
|
||||
Slave_IO_Running No
|
||||
Slave_SQL_Running No
|
||||
Replicate_Rewrite_DB
|
||||
Replicate_Do_DB
|
||||
Replicate_Ignore_DB
|
||||
Replicate_Do_Table
|
||||
|
@ -513,6 +512,7 @@ Slave_SQL_Running_State
|
|||
Slave_DDL_Groups 0
|
||||
Slave_Non_Transactional_Groups 0
|
||||
Slave_Transactional_Groups 0
|
||||
Replicate_Rewrite_DB
|
||||
Retried_transactions 0
|
||||
Max_relay_log_size 1073741824
|
||||
Executed_log_entries 7
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
include/master-slave.inc
|
||||
[connection master]
|
||||
show slave status;
|
||||
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Rewrite_DB Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id Master_SSL_Crl Master_SSL_Crlpath Using_Gtid Gtid_IO_Pos Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids Parallel_Mode SQL_Delay SQL_Remaining_Delay Slave_SQL_Running_State Slave_DDL_Groups Slave_Non_Transactional_Groups Slave_Transactional_Groups
|
||||
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id Master_SSL_Crl Master_SSL_Crlpath Using_Gtid Gtid_IO_Pos Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids Parallel_Mode SQL_Delay SQL_Remaining_Delay Slave_SQL_Running_State Slave_DDL_Groups Slave_Non_Transactional_Groups Slave_Transactional_Groups Replicate_Rewrite_DB
|
||||
show slave '' status;
|
||||
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Rewrite_DB Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id Master_SSL_Crl Master_SSL_Crlpath Using_Gtid Gtid_IO_Pos Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids Parallel_Mode SQL_Delay SQL_Remaining_Delay Slave_SQL_Running_State Slave_DDL_Groups Slave_Non_Transactional_Groups Slave_Transactional_Groups
|
||||
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id Master_SSL_Crl Master_SSL_Crlpath Using_Gtid Gtid_IO_Pos Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids Parallel_Mode SQL_Delay SQL_Remaining_Delay Slave_SQL_Running_State Slave_DDL_Groups Slave_Non_Transactional_Groups Slave_Transactional_Groups Replicate_Rewrite_DB
|
||||
show all slaves status;
|
||||
Connection_name Slave_SQL_State Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Rewrite_DB Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id Master_SSL_Crl Master_SSL_Crlpath Using_Gtid Gtid_IO_Pos Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids Parallel_Mode SQL_Delay SQL_Remaining_Delay Slave_SQL_Running_State Slave_DDL_Groups Slave_Non_Transactional_Groups Slave_Transactional_Groups Retried_transactions Max_relay_log_size Executed_log_entries Slave_received_heartbeats Slave_heartbeat_period Gtid_Slave_Pos
|
||||
Connection_name Slave_SQL_State Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master Master_SSL_Verify_Server_Cert Last_IO_Errno Last_IO_Error Last_SQL_Errno Last_SQL_Error Replicate_Ignore_Server_Ids Master_Server_Id Master_SSL_Crl Master_SSL_Crlpath Using_Gtid Gtid_IO_Pos Replicate_Do_Domain_Ids Replicate_Ignore_Domain_Ids Parallel_Mode SQL_Delay SQL_Remaining_Delay Slave_SQL_Running_State Slave_DDL_Groups Slave_Non_Transactional_Groups Slave_Transactional_Groups Replicate_Rewrite_DB Retried_transactions Max_relay_log_size Executed_log_entries Slave_received_heartbeats Slave_heartbeat_period Gtid_Slave_Pos
|
||||
#
|
||||
# Check error handling
|
||||
#
|
||||
|
|
75
mysql-test/suite/rpl/r/rpl_show_slave_status.result
Normal file
75
mysql-test/suite/rpl/r/rpl_show_slave_status.result
Normal file
|
@ -0,0 +1,75 @@
|
|||
include/master-slave.inc
|
||||
[connection master]
|
||||
*
|
||||
* The purpose of this test is to prevent incorrect additions to SHOW
|
||||
* SLAVE STATUS, which has happened several times in the past.
|
||||
*
|
||||
* We must never, _ever_, add extra rows to this output of SHOW SLAVE
|
||||
* STATUS, except at the very end, as this breaks backwards compatibility
|
||||
* with applications or scripts that parse the output. This also means that
|
||||
* we cannot add _any_ new rows in a GA version if a different row was
|
||||
* already added in a later MariaDB version, as this would make it impossible
|
||||
* to merge the change up while preserving the order of rows.
|
||||
*
|
||||
connection slave;
|
||||
SHOW SLAVE STATUS;
|
||||
Slave_IO_State #
|
||||
Master_Host #
|
||||
Master_User #
|
||||
Master_Port #
|
||||
Connect_Retry #
|
||||
Master_Log_File #
|
||||
Read_Master_Log_Pos #
|
||||
Relay_Log_File #
|
||||
Relay_Log_Pos #
|
||||
Relay_Master_Log_File #
|
||||
Slave_IO_Running #
|
||||
Slave_SQL_Running #
|
||||
Replicate_Do_DB #
|
||||
Replicate_Ignore_DB #
|
||||
Replicate_Do_Table #
|
||||
Replicate_Ignore_Table #
|
||||
Replicate_Wild_Do_Table #
|
||||
Replicate_Wild_Ignore_Table #
|
||||
Last_Errno #
|
||||
Last_Error #
|
||||
Skip_Counter #
|
||||
Exec_Master_Log_Pos #
|
||||
Relay_Log_Space #
|
||||
Until_Condition #
|
||||
Until_Log_File #
|
||||
Until_Log_Pos #
|
||||
Master_SSL_Allowed #
|
||||
Master_SSL_CA_File #
|
||||
Master_SSL_CA_Path #
|
||||
Master_SSL_Cert #
|
||||
Master_SSL_Cipher #
|
||||
Master_SSL_Key #
|
||||
Seconds_Behind_Master #
|
||||
Master_SSL_Verify_Server_Cert #
|
||||
Last_IO_Errno #
|
||||
Last_IO_Error #
|
||||
Last_SQL_Errno #
|
||||
Last_SQL_Error #
|
||||
Replicate_Ignore_Server_Ids #
|
||||
Master_Server_Id #
|
||||
Master_SSL_Crl #
|
||||
Master_SSL_Crlpath #
|
||||
Using_Gtid #
|
||||
Gtid_IO_Pos #
|
||||
Replicate_Do_Domain_Ids #
|
||||
Replicate_Ignore_Domain_Ids #
|
||||
Parallel_Mode #
|
||||
SQL_Delay #
|
||||
SQL_Remaining_Delay #
|
||||
Slave_SQL_Running_State #
|
||||
Slave_DDL_Groups #
|
||||
Slave_Non_Transactional_Groups #
|
||||
Slave_Transactional_Groups #
|
||||
Replicate_Rewrite_DB #
|
||||
*
|
||||
* When modifying this test after adding a column to SHOW SLAVE STATUS,
|
||||
* _only_ additions at the end are allowed, the column number of existing
|
||||
* columns must _not_ change!
|
||||
*
|
||||
include/rpl_end.inc
|
27
mysql-test/suite/rpl/t/rpl_show_slave_status.test
Normal file
27
mysql-test/suite/rpl/t/rpl_show_slave_status.test
Normal file
|
@ -0,0 +1,27 @@
|
|||
--source include/have_binlog_format_mixed.inc
|
||||
--source include/master-slave.inc
|
||||
|
||||
--echo *
|
||||
--echo * The purpose of this test is to prevent incorrect additions to SHOW
|
||||
--echo * SLAVE STATUS, which has happened several times in the past.
|
||||
--echo *
|
||||
--echo * We must never, _ever_, add extra rows to this output of SHOW SLAVE
|
||||
--echo * STATUS, except at the very end, as this breaks backwards compatibility
|
||||
--echo * with applications or scripts that parse the output. This also means that
|
||||
--echo * we cannot add _any_ new rows in a GA version if a different row was
|
||||
--echo * already added in a later MariaDB version, as this would make it impossible
|
||||
--echo * to merge the change up while preserving the order of rows.
|
||||
--echo *
|
||||
|
||||
--connection slave
|
||||
--replace_column 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 #
|
||||
query_vertical
|
||||
SHOW SLAVE STATUS;
|
||||
|
||||
--echo *
|
||||
--echo * When modifying this test after adding a column to SHOW SLAVE STATUS,
|
||||
--echo * _only_ additions at the end are allowed, the column number of existing
|
||||
--echo * columns must _not_ change!
|
||||
--echo *
|
||||
|
||||
--source include/rpl_end.inc
|
20
sql/slave.cc
20
sql/slave.cc
|
@ -2957,9 +2957,6 @@ void show_master_info_get_fields(THD *thd, List<Item> *field_list,
|
|||
field_list->push_back(new (mem_root)
|
||||
Item_empty_string(thd, "Slave_SQL_Running", 3),
|
||||
mem_root);
|
||||
field_list->push_back(new (mem_root)
|
||||
Item_empty_string(thd, "Replicate_Rewrite_DB", 23),
|
||||
mem_root);
|
||||
field_list->push_back(new (mem_root)
|
||||
Item_empty_string(thd, "Replicate_Do_DB", 20),
|
||||
mem_root);
|
||||
|
@ -3108,6 +3105,21 @@ void show_master_info_get_fields(THD *thd, List<Item> *field_list,
|
|||
Item_return_int(thd, "Slave_Transactional_Groups", 20,
|
||||
MYSQL_TYPE_LONGLONG),
|
||||
mem_root);
|
||||
field_list->push_back(new (mem_root)
|
||||
Item_empty_string(thd, "Replicate_Rewrite_DB", 23),
|
||||
mem_root);
|
||||
|
||||
/*
|
||||
Note, we must never, _ever_, add extra rows to this output of SHOW SLAVE
|
||||
STATUS, except here at the end before the extra rows of SHOW ALL SLAVES
|
||||
STATUS. Otherwise, we break backwards compatibility with applications or
|
||||
scripts that parse the output!
|
||||
|
||||
This also means that we cannot add _any_ new rows in a GA version if a
|
||||
different row was already added in a later MariaDB version, as this would
|
||||
make it impossible to merge the change up while preserving the order of
|
||||
rows.
|
||||
*/
|
||||
|
||||
if (full)
|
||||
{
|
||||
|
@ -3223,7 +3235,6 @@ static bool send_show_master_info_data(THD *thd, Master_info *mi, bool full,
|
|||
&my_charset_bin);
|
||||
protocol->store(&slave_running[mi->slave_running], &my_charset_bin);
|
||||
protocol->store(mi->rli.slave_running ? &msg_yes : &msg_no, &my_charset_bin);
|
||||
protocol->store(rpl_filter->get_rewrite_db());
|
||||
protocol->store(rpl_filter->get_do_db());
|
||||
protocol->store(rpl_filter->get_ignore_db());
|
||||
|
||||
|
@ -3383,6 +3394,7 @@ static bool send_show_master_info_data(THD *thd, Master_info *mi, bool full,
|
|||
protocol->store(mi->total_ddl_groups);
|
||||
protocol->store(mi->total_non_trans_groups);
|
||||
protocol->store(mi->total_trans_groups);
|
||||
protocol->store(rpl_filter->get_rewrite_db());
|
||||
|
||||
if (full)
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue