Linux ip-172-26-2-223 5.4.0-1018-aws #18-Ubuntu SMP Wed Jun 24 01:15:00 UTC 2020 x86_64
Apache
: 172.26.2.223 | : 18.117.11.129
Cant Read [ /etc/named.conf ]
8.1.13
www
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
www /
server /
mysql /
mysql-test /
extra /
rpl_tests /
[ HOME SHELL ]
Name
Size
Permission
Action
check_type.inc
2.29
KB
-rw-r--r--
create_recursive_construct.inc
16.61
KB
-rw-r--r--
create_recursive_construct_stm...
16.48
KB
-rw-r--r--
delayed_slave_wait_on_query.in...
1.59
KB
-rw-r--r--
gtid_disconnect_drop_temporary...
3.11
KB
-rw-r--r--
rpl_EE_err.test
1.03
KB
-rw-r--r--
rpl_auto_increment.test
8.63
KB
-rw-r--r--
rpl_auto_increment_insert_view...
1.37
KB
-rw-r--r--
rpl_auto_increment_invoke_trig...
2.47
KB
-rw-r--r--
rpl_autoinc_func_invokes_trigg...
1.78
KB
-rw-r--r--
rpl_binlog_max_cache_size.test
18.23
KB
-rw-r--r--
rpl_blackhole.test
1.03
KB
-rw-r--r--
rpl_change_master.test
10.46
KB
-rw-r--r--
rpl_change_master_bind.inc
2.23
KB
-rw-r--r--
rpl_charset.test
4.45
KB
-rw-r--r--
rpl_check_gtid.inc
4.87
KB
-rw-r--r--
rpl_commit_after_flush.test
272
B
-rw-r--r--
rpl_conflicts.test
5.45
KB
-rw-r--r--
rpl_crash_safe.inc
4.13
KB
-rw-r--r--
rpl_crash_safe.test
7.61
KB
-rw-r--r--
rpl_create_msr_channels.inc
2.53
KB
-rw-r--r--
rpl_db_stmts_ignored.inc
1.7
KB
-rw-r--r--
rpl_ddl.test
21.62
KB
-rw-r--r--
rpl_deadlock.test
6.05
KB
-rw-r--r--
rpl_delete_no_where.test
523
B
-rw-r--r--
rpl_do_table_filter_insensitiv...
492
B
-rw-r--r--
rpl_do_table_filter_sensitive....
491
B
-rw-r--r--
rpl_drop_create_temp_table.inc
29.79
KB
-rw-r--r--
rpl_drop_create_temp_table.tes...
17.8
KB
-rw-r--r--
rpl_drop_multiple_tables.inc
4
KB
-rw-r--r--
rpl_drop_multiple_tables_in_mu...
1.18
KB
-rw-r--r--
rpl_extra_col_master.test
31.93
KB
-rw-r--r--
rpl_extra_col_slave.test
28.76
KB
-rw-r--r--
rpl_failed_optimize.test
666
B
-rw-r--r--
rpl_filters.test
530
B
-rw-r--r--
rpl_flsh_tbls.test
1.86
KB
-rw-r--r--
rpl_foreign_key.test
1.7
KB
-rw-r--r--
rpl_generate_mts_gap.test
1.6
KB
-rw-r--r--
rpl_generate_mts_gap_with_miss...
3.22
KB
-rw-r--r--
rpl_generate_mts_gap_with_miss...
408
B
-rw-r--r--
rpl_get_master_version_and_clo...
2.88
KB
-rw-r--r--
rpl_gtid_drop_table.inc
1.11
KB
-rw-r--r--
rpl_gtid_mixed_rows_and_stmts_...
3.35
KB
-rw-r--r--
rpl_gtid_mts_relay_log_recover...
4.39
KB
-rw-r--r--
rpl_gtid_temp_table_in_func_or...
3.69
KB
-rw-r--r--
rpl_gtids_restart_slave_io_los...
3.48
KB
-rw-r--r--
rpl_heartbeat_2slaves.inc
4.27
KB
-rw-r--r--
rpl_ignore_super_read_only.tes...
6.19
KB
-rw-r--r--
rpl_ignore_table_filter_insens...
508
B
-rw-r--r--
rpl_ignore_table_filter_sensit...
506
B
-rw-r--r--
rpl_implicit_commit_binlog.tes...
17.22
KB
-rw-r--r--
rpl_innodb.test
4.53
KB
-rw-r--r--
rpl_insert_id.test
15.12
KB
-rw-r--r--
rpl_insert_id_pk.test
2.65
KB
-rw-r--r--
rpl_insert_ignore.test
4.9
KB
-rw-r--r--
rpl_kill_query.inc
4.14
KB
-rw-r--r--
rpl_loaddata.test
8.91
KB
-rw-r--r--
rpl_loaddata_s.inc
896
B
-rw-r--r--
rpl_loadfile.test
1.08
KB
-rw-r--r--
rpl_log.test
3.9
KB
-rw-r--r--
rpl_lower_case_table_names.tes...
4.07
KB
-rw-r--r--
rpl_max_relay_size.test
2.58
KB
-rw-r--r--
rpl_mixing_engines.inc
23.15
KB
-rw-r--r--
rpl_mixing_engines.test
54.43
KB
-rw-r--r--
rpl_mts_crash_safe.inc
5.92
KB
-rw-r--r--
rpl_mts_crash_safe.test
6.74
KB
-rw-r--r--
rpl_mts_execute_partial_trx_in...
1.11
KB
-rw-r--r--
rpl_mts_pending_events.inc
4.91
KB
-rw-r--r--
rpl_mts_relay_log_recovery.tes...
2.93
KB
-rw-r--r--
rpl_mts_transaction_retry.inc
7.9
KB
-rw-r--r--
rpl_multi_query.test
782
B
-rw-r--r--
rpl_multi_source_corrupt_repos...
18.31
KB
-rw-r--r--
rpl_multi_source_generate_mts_...
2.11
KB
-rw-r--r--
rpl_multi_update.test
805
B
-rw-r--r--
rpl_multi_update2.test
1.35
KB
-rw-r--r--
rpl_multi_update3.test
4.52
KB
-rw-r--r--
rpl_not_null.test
10.76
KB
-rw-r--r--
rpl_parallel_ddl.test
5.35
KB
-rw-r--r--
rpl_parallel_load.test
6.1
KB
-rw-r--r--
rpl_parallel_load_innodb.test
7
KB
-rw-r--r--
rpl_parallel_recovery_core.tes...
6.74
KB
-rw-r--r--
rpl_partition.test
7.88
KB
-rw-r--r--
rpl_perfschema_applier_xa_stat...
2.96
KB
-rw-r--r--
rpl_perfschema_order_by.test
3.12
KB
-rw-r--r--
rpl_record_compare.test
2.1
KB
-rw-r--r--
rpl_relayrotate.test
2.68
KB
-rw-r--r--
rpl_replication_observers_exam...
2.61
KB
-rw-r--r--
rpl_reset_slave.test
3.82
KB
-rw-r--r--
rpl_reset_slave_all_thread_saf...
1.2
KB
-rw-r--r--
rpl_rollback_to_savepoint.inc
7.54
KB
-rw-r--r--
rpl_row_001.test
2.68
KB
-rw-r--r--
rpl_row_UUID.test
2.61
KB
-rw-r--r--
rpl_row_basic.test
24.58
KB
-rw-r--r--
rpl_row_blob.test
5.57
KB
-rw-r--r--
rpl_row_empty_imgs.test
5.69
KB
-rw-r--r--
rpl_row_event_max_size.inc
4.05
KB
-rw-r--r--
rpl_row_func003.test
3.13
KB
-rw-r--r--
rpl_row_idempotency.test
8.39
KB
-rw-r--r--
rpl_row_img.test
8.23
KB
-rw-r--r--
rpl_row_img_blobs.test
5.82
KB
-rw-r--r--
rpl_row_img_diff_indexes.test
9.11
KB
-rw-r--r--
rpl_row_sp002.test
5.26
KB
-rw-r--r--
rpl_row_sp003.test
2.02
KB
-rw-r--r--
rpl_row_sp006.test
2.78
KB
-rw-r--r--
rpl_row_sp007.test
1.5
KB
-rw-r--r--
rpl_row_tabledefs.test
7.97
KB
-rw-r--r--
rpl_seconds_behind_master_mts_...
12.04
KB
-rw-r--r--
rpl_seconds_behind_master_mts_...
10.2
KB
-rw-r--r--
rpl_semi_sync_ack_thread.inc
676
B
-rw-r--r--
rpl_semi_sync_after_sync.test
4.82
KB
-rw-r--r--
rpl_semi_sync_deadlock.test
1.46
KB
-rw-r--r--
rpl_semi_sync_group_commit_dea...
1.71
KB
-rw-r--r--
rpl_set_null.test
2.85
KB
-rw-r--r--
rpl_sp.test
17.69
KB
-rw-r--r--
rpl_split_statements.test
17.96
KB
-rw-r--r--
rpl_start_stop_slave.test
5.4
KB
-rw-r--r--
rpl_stm_EE_err2.test
1.5
KB
-rw-r--r--
rpl_stm_create_if_not_exists.t...
6.87
KB
-rw-r--r--
rpl_stop_middle_group.test
5.17
KB
-rw-r--r--
rpl_stop_slave.test
1.56
KB
-rw-r--r--
rpl_stress_test.inc
2.21
KB
-rw-r--r--
rpl_sv_relay_space.test
921
B
-rw-r--r--
rpl_sync_relay_log_info.inc
9.02
KB
-rw-r--r--
rpl_sync_relay_log_info_assert...
3.23
KB
-rw-r--r--
rpl_temp_error.test
623
B
-rw-r--r--
rpl_temporary.test
10.6
KB
-rw-r--r--
rpl_test_framework.inc
2.42
KB
-rw-r--r--
rpl_tmp_table_and_DDL.test
4.8
KB
-rw-r--r--
rpl_trig004.test
1.7
KB
-rw-r--r--
rpl_truncate.test
425
B
-rw-r--r--
rpl_truncate_helper.test
976
B
-rw-r--r--
rpl_trx_boundary_parser.inc
1.59
KB
-rw-r--r--
rpl_trx_boundary_parser_all_st...
7.19
KB
-rw-r--r--
rpl_trx_boundary_parser_one_st...
3.69
KB
-rw-r--r--
rpl_trx_boundary_parser_warnin...
4.51
KB
-rw-r--r--
rpl_variables_stm.test
24.26
KB
-rw-r--r--
rpl_xa_gtid_next.inc
2.46
KB
-rw-r--r--
rpl_xa_mixed_engines.inc
1.89
KB
-rw-r--r--
type_conversions.test
23.7
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : rpl_multi_source_corrupt_repository.inc
############################################################################### # Use this .inc to corrupt a channel and test basic commands # on all channels (good channels and the corrupted channel) # # Usage: # --let $rpl_number_of_servers=4 # --let $rpl_corrupt_channel_name=channel_2 # --source extra/rpl_tests/rpl_multi_source_corrupt_repository.inc # # $rpl_number_of_servers # Specify total number of servers in the MSR setup. # # $rpl_corrupt_channel_name # Specify the channel name which needs to be corrupted. # # Note: # This .inc assumes that the MSR setup is done # as 1->$rpl_number_of_servers, 2->$rpl_number_of_servers,..., # $rpl_number_of_servers -1 -> $rpl_number_of_servers. # It also assumes that server_$rpl_number_of_servers # is the server where we have to create the channels and # there are $rpl_number_of_servers -1 of channels created # on the server which connects all the remaining servers in the setup. # Hint: # Use extra/rpl_tests/rpl_create_msr_channels.inc if you want # create the channels on a MSR slave server. ############################################################################### if (!$rpl_number_of_servers) { --die "Please specify number of servers in the MSR setup." } ############################################################################### # Step-1: Corrupt channel '$rpl_corrupt_channel_name' # 1.1: Connect to the MSR slave server where we want corrupt the channel # and get basic information before shutting down. # 1.2: Stop the server # 1.3: Remove the channel's index file (one form of corrupting the # channel) # 1.4: Restart the server with --skip-slave-start option. ############################################################################### --let $number_of_channels= `SELECT $rpl_number_of_servers -1` --let $number_of_good_channels= `SELECT $rpl_number_of_servers -2` --let $rpl_msr_server_number=$rpl_number_of_servers --echo ===== Corrupting Channel $rpl_corrupt_channel_name. ############################################################################### # Step-1.1: Connect to the MSR slave server where we want corrupt the channel # and get basic information before shutting down. ############################################################################### --let $rpl_connection_name=server_$rpl_msr_server_number --source include/rpl_connection.inc --let $slave_datadir= `select @@datadir` --let $relaylog_name= `select @@relay_log_basename` ############################################################################### # Step-1.2: Stop the server ############################################################################### --echo ===== Stop the server $rpl_msr_server_number. --let $rpl_server_number=$rpl_msr_server_number --source include/rpl_stop_server.inc ############################################################################### # Step-1.3: Remove the channel's index file (one form of corrupting the # channel) ############################################################################### --echo ===== Remove '$rpl_corrupt_channel_name' channel's relaylog file. if (!$rpl_corrupt_channel_name) { --remove_file $relaylog_name.index } if ($rpl_corrupt_channel_name) { --remove_file $relaylog_name-$rpl_corrupt_channel_name.index } ############################################################################### # Step-1.4: Restart the server with --skip-slave-start option. ############################################################################### --echo ===== Start the server $rpl_msr_server_number with --skip-slave-start=0 option. --let $rpl_server_parameters=--skip-slave-start=0 --source include/rpl_start_server.inc ############################################################################### # Step-2: After server started with (--skip-slave-start=0) option, # check the state of the channels. Only corrupted channel # should be in OFF state and remaining channels IO and SQL # thread should be in ON state. ############################################################################### --echo ===== Assert that all channels IO and SQL threads are in expected state. --let $assert_text= Corrupted channel's IO thread should be in OFF state. --let $assert_cond= "[SELECT CHANNEL_NAME FROM performance_schema.replication_connection_status WHERE SERVICE_STATE= "OFF"]" = "$rpl_corrupt_channel_name" --source include/assert.inc --let $assert_text= Corrupted channel's SQL thread should be in OFF state. --let $assert_cond= "[SELECT CHANNEL_NAME FROM performance_schema.replication_applier_status WHERE SERVICE_STATE= "OFF"]" = "$rpl_corrupt_channel_name" --source include/assert.inc --echo ===== ONLY one channel is corrupted. Waiting until started channels be $number_of_good_channels. --let $wait_condition= SELECT COUNT(*) = $number_of_good_channels FROM performance_schema.replication_connection_status WHERE SERVICE_STATE="ON" --source include/wait_condition_or_abort.inc --echo ===== ONLY one channel is corrupted. Waiting until started channels be $number_of_good_channels. --let $wait_condition= SELECT COUNT(*) = $number_of_good_channels FROM performance_schema.replication_applier_status WHERE SERVICE_STATE="ON" --source include/wait_condition_or_abort.inc ############################################################################### # Step-3: Check basic commands without 'FOR CHANNEL' clause. ############################################################################### --echo ===== Executing few basic commands without 'FOR CHANNEL' clause. ############################################################################### # Step-3.1: STOP SLAVE should be able to bring all the channels's IO and SQL # thread down (corrupted channel's IO and SQL thread down already before this # step). ############################################################################### --echo ===== STOP SLAVE without 'FOR CHANNEL' clause. --let $rpl_channel_name= --let $slave_sql_errno= convert_error(ER_SLAVE_RLI_INIT_REPOSITORY) --source include/stop_slave.inc --echo === Assert that all channels IO and SQL threads are in OFF state === --let $assert_text= All the channel's IO thread should be in OFF state. --let $assert_cond= "[SELECT COUNT(*) FROM performance_schema.replication_connection_status WHERE SERVICE_STATE="OFF"]" = $number_of_channels --source include/assert.inc --let $assert_text= All the channel's SQL thread should be in OFF state. --let $assert_cond= "[SELECT COUNT(*) FROM performance_schema.replication_applier_status WHERE SERVICE_STATE="OFF"]" = $number_of_channels --source include/assert.inc ################################################################################ # Step-3.2: START SLAVE should be able to bring all the *good* channels's IO and SQL # thread up except the corrupted channel. START SLAVE should throw error # ER_SLAVE_RLI_INIT_REPOSITORY because it is unable to bring up corrupted # channel's IO and SQL thread. ################################################################################ --echo ===== START SLAVE without 'FOR CHANNEL' clause. --error ER_SLAVE_RLI_INIT_REPOSITORY START SLAVE; --echo === Assert that all channels IO and SQL threads are in expected state === --let $assert_text= Corrupted channel's IO thread should be in OFF state. --let $assert_cond= "[SELECT CHANNEL_NAME FROM performance_schema.replication_connection_status WHERE SERVICE_STATE= "OFF"]" = "$rpl_corrupt_channel_name" --source include/assert.inc --let $assert_text= Corrupted channel's SQL thread should be in OFF state. --let $assert_cond= "[SELECT CHANNEL_NAME FROM performance_schema.replication_applier_status WHERE SERVICE_STATE= "OFF"]" = "$rpl_corrupt_channel_name" --source include/assert.inc --echo ===== ONLY one channel is corrupted. Waiting until started channels be $number_of_good_channels. --let $wait_condition= SELECT COUNT(*) = $number_of_good_channels FROM performance_schema.replication_connection_status WHERE SERVICE_STATE="ON" --source include/wait_condition_or_abort.inc --echo ===== ONLY one channel is corrupted. Waiting until started channels be $number_of_good_channels. --let $wait_condition= SELECT COUNT(*) = $number_of_good_channels FROM performance_schema.replication_applier_status WHERE SERVICE_STATE="ON" --source include/wait_condition_or_abort.inc ############################################################################### # Step-3.3: SHOW RELAYLOG EVENTS without 'FOR CHANNEL' clause when we have # multiple channels, should throw error # ER_SLAVE_MULTIPLE_CHANNELS_CMD. ############################################################################### --echo ===== SHOW RELAYLOG EVENTS without 'FOR CHANNEL' clause should throw error. --error ER_SLAVE_MULTIPLE_CHANNELS_CMD SHOW RELAYLOG EVENTS; ############################################################################### # Step-3.4: MASTER_POS_WAIT function without 4th argument (channel name # argument) when we have multiple channels, should throw error # ER_SLAVE_MULTIPLE_CHANNELS_CMD. ############################################################################### --echo ===== SELECT MASTER_POS_WAIT(...) without 'FOR CHANNEL' argument should throw error. --error ER_SLAVE_MULTIPLE_CHANNELS_CMD SELECT MASTER_POS_WAIT('server1-bin.000001', 120, 5); ############################################################################### # Step-3.5: WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS function without 3rd argument # (channel name argument) when we have multiple channels, should # throw error ER_SLAVE_MULTIPLE_CHANNELS_CMD. ############################################################################### --echo ===== SELECT WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS(...) without 'FOR CHANNEL' argument should throw error. --error ER_SLAVE_MULTIPLE_CHANNELS_CMD SELECT WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS('01010101-0101-0101-0101-010101010101:1', 1); ############################################################################### # Step-3.6: CHANGE MASTER TO without 'FOR CHANNEL' clause when we have multiple # channels, should throw error ER_SLAVE_MULTIPLE_CHANNELS_CMD. ############################################################################### --echo ===== CHANGE MASTER without 'FOR CHANNEL' clause should throw error. --error ER_SLAVE_MULTIPLE_CHANNELS_CMD CHANGE MASTER TO MASTER_HEARTBEAT_PERIOD=10, MASTER_CONNECT_RETRY=10, MASTER_RETRY_COUNT=10; ############################################################################### # Step-3.7: Flush relay logs without empty channel acts on all replication # channels. ############################################################################### --echo ===== FLUSH RELAY LOGS without 'FOR CHANNEL' clause. FLUSH RELAY LOGS; ############################################################################### # Step-4: Check basic commands with 'FOR CHANNEL' clause. # The following while loop will iterate through all the channels # Order: default channel (empty name), channel_2, channel_3,... ############################################################################### --let $i=1 while ($i <= $number_of_channels) { --let $channel_name=channel_$i if ($i == 1) { --let $channel_name= } ############################################################################## # Step-4.1: Check MASTER_POS_WAIT and WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS # functions. We need two iterations here. # > j ==1 : Test with past position/gtid (already executed) # Return value for corrupted channel: NULL # Return value for good channel: 0 # > j ==2 : Test with future position/gtid # Return value for corrupted channel: NULL # Return value for good channel: -1 ############################################################################## --echo ===== Executing few basic commands on channel '$channel_name'. --echo ===== Executing MASTER_POS_WAIT() and WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS(). --let $j=1 while ($j <=2) { --let $rpl_connection_name= server_$i --source include/rpl_connection.inc --let $master_executed_gtid=`SELECT @@GLOBAL.gtid_executed` --let $position=query_get_value("SHOW MASTER STATUS", Position, 1) --let $query_expected_result= 0 if ($j == 2) { --let $master_executed_gtid= `SELECT concat(@@GLOBAL.gtid_executed, ':100')` --let $position= `SELECT $position + 1` --let $query_expected_result= -1 } if ($rpl_corrupt_channel_name == $channel_name) { --let $query_expected_result= NULL } --let $rpl_connection_name= server_$rpl_number_of_servers --source include/rpl_connection.inc --let $query_result= query_get_value("SELECT MASTER_POS_WAIT('server$i-bin.000001', $position, 1, '$channel_name') AS VALUE", VALUE, 1) --let $assert_text= MASTER_POS_WAIT should return $query_expected_result for channel '$channel_name' and position $position. --let $assert_cond= "$query_result" = "$query_expected_result" --source include/assert.inc if ( `SELECT @@GLOBAL.GTID_MODE = "ON"` ) { --let $query_result= query_get_value("SELECT WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS('$master_executed_gtid', 1, '$channel_name') AS VALUE", VALUE, 1) --let $assert_text= WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS should return $query_expected_result for channel '$channel_name' and position $position. --let $assert_cond= "$query_result" = "$query_expected_result" # GTID_MODE OFF/ON, .result file should be same. Hence disabling the query # log for the following test. --let $include_silent= 1 --source include/assert.inc --let $include_silent= } --inc $j } ############################################################################# # Step 4.2: FLUSH RELAY LOGS FOR CHANNEL 'channel_name'. For a corrupted # channel it is equal to No-op operation, no error in that case. ############################################################################# --echo ===== Executing FLUSH RELAY LOGS FOR CHANNEL on channel '$channel_name'. --eval FLUSH RELAY LOGS FOR CHANNEL '$channel_name' ############################################################################# # Step 4.3: SHOW RELAYLOG EVENTS FOR CHANNEL 'channel_name' ############################################################################# --echo ===== Executing SHOW RELAYLOG EVENTS FOR CHANNEL on channel '$channel_name'. --let $rpl_channel_name=$channel_name # It doesn't care the result, just make sure the query can be executed successfully --disable_result_log eval SHOW RELAYLOG EVENTS FOR CHANNEL '$channel_name'; --enable_result_log ############################################################################# # Step 4.4: SHOW SLAVE STATUS FOR CHANNEL 'channel_name' ############################################################################# --echo ===== Executing SHOW SLAVE FOR CHANNEL on channel '$channel_name'. --let $status_items=Slave_IO_State,Slave_SQL_Running_State,Last_IO_Errno,Last_IO_Error,Last_SQL_Errno,Last_SQL_Error,Channel_Name --let $rpl_channel_name=$channel_name if ($channel_name != $rpl_corrupt_channel_name) { --let $slave_timeout= 60 --let $slave_param= Slave_IO_State --let $slave_param_value= Waiting for master to send event --source include/wait_for_slave_param.inc --let $slave_param= Slave_SQL_Running_State --let $slave_param_value= Slave has read all relay log; waiting for more updates --source include/wait_for_slave_param.inc --let $status_items=Last_IO_Errno,Last_IO_Error,Last_SQL_Errno,Last_SQL_Error,Channel_Name } --source include/show_slave_status.inc ############################################################################# # Step 5: If this channel is a good channel, replication should work fine # without any issues. # Note: Before executing 'STOP SLAVE FOR CHANNEL' command, execute this sync # step to avoid stopping and staring these slave threads. ############################################################################# if ($channel_name != $rpl_corrupt_channel_name) { --echo ===== Check that replication is working fine on channel '$channel_name'. --let $rpl_connection_name= server_$i --source include/rpl_connection.inc CREATE TABLE t1(i INT); INSERT INTO t1 VALUES (12); DROP TABLE t1; --let $rpl_channel_name=$channel_name --let $sync_slave_connection=server_$rpl_number_of_servers if ($channel_name == '') { --let $force_empty_channel_name=1 } --source include/sync_slave_sql_with_master.inc --let $force_empty_channel_name= } ############################################################################# # Step 4.5: STOP SLAVE FOR CHANNEL 'channel_name' ############################################################################# --echo ===== Executing STOP SLAVE FOR CHANNEL on channel '$channel_name'. --let $rpl_channel_name=$channel_name if ($channel_name == '') { --let $force_empty_channel_name=1 } --source include/stop_slave.inc --let $force_empty_channel_name= ############################################################################# # Step 4.6: CHANGE MASTER TO ... FOR CHANNEL 'channel_name' ############################################################################# --echo ===== Executing CHANGE MASTER FOR CHANNEL on channel '$channel_name'. --eval CHANGE MASTER TO MASTER_CONNECT_RETRY=100, MASTER_RETRY_COUNT=100 FOR CHANNEL '$channel_name' --let $status_items=Connect_Retry, Master_Retry_Count, Slave_IO_State,Slave_SQL_Running_State, Channel_Name --let $rpl_channel_name=$channel_name --source include/show_slave_status.inc ############################################################################# # Step 4.7: RESET SLAVE FOR CHANNEL 'channel_name' ############################################################################# --echo ===== Executing RESET SLAVE FOR CHANNEL on channel '$channel_name'. --eval RESET SLAVE FOR CHANNEL '$channel_name' ############################################################################# # Step 4.8: RESET SLAVE ALL FOR CHANNEL 'channel_name' ############################################################################# --echo ===== Executing RESET SLAVE ALL FOR CHANNEL on channel '$channel_name'. --eval RESET SLAVE ALL FOR CHANNEL '$channel_name' --inc $i }
Close