mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 03:52:35 +01:00
abcd23add2
enable ssl + ssl_verify_server_cert in the internal client too * fix replication tests to disable master_ssl_verify_server_cert because accounts are passwordless - except rpl.rpl_ssl1 * fix federated/federatedx/connect to disable SSL_VERIFY_SERVER_CERT because they cannot configure an ssl connection * fix spider to disable ssl_verify_server_cert, if configuration says so, as spider _can_ configure an ssl connection * memory leak in embedded test-connect
151 lines
4.2 KiB
Text
151 lines
4.2 KiB
Text
#
|
|
# Test of sql_slave_skip_counter and rpl_max_size
|
|
#
|
|
|
|
# Create a schema and a table i
|
|
# on the 1st master
|
|
|
|
--source include/not_embedded.inc
|
|
--let $rpl_server_count= 0
|
|
|
|
--connect (master1,127.0.0.1,root,,,$SERVER_MYPORT_1)
|
|
|
|
--disable_warnings
|
|
drop database if exists db;
|
|
--enable_warnings
|
|
create database db;
|
|
create table db.this_will_not_be_replicated (i int) engine=MyISAM;
|
|
create table db.t1 (i int) engine=MyISAM;
|
|
create table db.t2 (i int) engine=MyISAM;
|
|
--save_master_pos
|
|
|
|
# Create the same schema and another table
|
|
# on the 2nd master
|
|
|
|
--connect (master2,127.0.0.1,root,,,$SERVER_MYPORT_2)
|
|
|
|
--disable_warnings
|
|
drop database if exists db;
|
|
--enable_warnings
|
|
create database db;
|
|
create table db.t3 (i int) engine=MyISAM;
|
|
|
|
--connect (slave,127.0.0.1,root,,,$SERVER_MYPORT_3)
|
|
|
|
# Start replication from the first master
|
|
|
|
--replace_result $SERVER_MYPORT_1 MYPORT_1
|
|
eval change master 'master1' to
|
|
master_port=$SERVER_MYPORT_1,
|
|
master_host='127.0.0.1',
|
|
master_user='root', master_ssl_verify_server_cert=0,
|
|
master_use_gtid=no;
|
|
|
|
start slave 'master1';
|
|
set default_master_connection = 'master1';
|
|
--source include/wait_for_slave_to_start.inc
|
|
--sync_with_master 0,'master1'
|
|
|
|
# Start replication from the second master
|
|
|
|
set default_master_connection = 'master2';
|
|
|
|
--replace_result $SERVER_MYPORT_2 MYPORT_2
|
|
eval change master 'master2' to
|
|
master_port=$SERVER_MYPORT_2,
|
|
master_host='127.0.0.1',
|
|
master_user='root', master_ssl_verify_server_cert=0,
|
|
master_use_gtid=no;
|
|
|
|
# the schema creation will be replicated from the 1st master,
|
|
# so we want to skip it in the second replication connection
|
|
# The events we want to skip are:
|
|
#
|
|
# The start format statement event
|
|
# drop database if exists db
|
|
# create database db
|
|
# Create table db.t1
|
|
# - > 4 events in total
|
|
|
|
--let $skip_counter_saved = `select @@global.sql_slave_skip_counter`
|
|
--let $max_relay_log_size_saved= `select @@global.max_relay_log_size`
|
|
--let $max_binlog_size_saved= `select @@global.max_binlog_size`
|
|
set global sql_slave_skip_counter = 2;
|
|
select @@global.sql_slave_skip_counter;
|
|
select @@session.sql_slave_skip_counter;
|
|
set session sql_slave_skip_counter = 3;
|
|
select @@global.sql_slave_skip_counter;
|
|
select @@session.sql_slave_skip_counter;
|
|
set global sql_slave_skip_counter= default;
|
|
select @@global.sql_slave_skip_counter;
|
|
select @@session.sql_slave_skip_counter;
|
|
set global sql_slave_skip_counter= 4;
|
|
|
|
set default_master_connection = 'master1';
|
|
select @@session.sql_slave_skip_counter;
|
|
set default_master_connection = 'qqq';
|
|
select @@session.sql_slave_skip_counter;
|
|
set default_master_connection = 'master2';
|
|
select @@session.sql_slave_skip_counter;
|
|
|
|
# Test of setting max_relay_log_size
|
|
select @@global.max_relay_log_size;
|
|
set global max_relay_log_size = 1*1024*1024;
|
|
select @@global.max_relay_log_size;
|
|
select @@session.max_relay_log_size;
|
|
set session max_relay_log_size = 3*1024*1024;
|
|
select @@global.max_relay_log_size;
|
|
select @@session.max_relay_log_size;
|
|
set global max_relay_log_size= default;
|
|
select @@global.max_relay_log_size;
|
|
select @@session.max_relay_log_size;
|
|
set global max_relay_log_size= 3*1024*1024;
|
|
set default_master_connection = 'master1';
|
|
select @@session.max_relay_log_size;
|
|
set default_master_connection = 'qqq';
|
|
select @@session.max_relay_log_size;
|
|
set default_master_connection = 'master2';
|
|
select @@session.max_relay_log_size;
|
|
set global max_binlog_size= 4*1024*1024;
|
|
select @@global.max_relay_log_size;
|
|
|
|
start slave 'master2';
|
|
--source include/wait_for_slave_to_start.inc
|
|
set default_master_connection = '';
|
|
|
|
--connection master2
|
|
--save_master_pos
|
|
|
|
--connection slave
|
|
|
|
--sync_with_master 0,'master2'
|
|
|
|
# If the skip_counter worked as expected, we should
|
|
# get here (replication shouldn't have broken)
|
|
# and should see both tables here
|
|
# (drop database which came from master2 shouldn't have been executed
|
|
# so t1 should still exist)
|
|
|
|
show tables in db;
|
|
|
|
# Cleanup
|
|
|
|
drop database db;
|
|
|
|
--eval set global sql_slave_skip_counter = $skip_counter_saved
|
|
--eval set global max_relay_log_size = $max_relay_log_size_saved
|
|
--eval set global max_binlog_size = $max_binlog_size_saved
|
|
|
|
--source include/reset_master_slave.inc
|
|
--disconnect slave
|
|
|
|
--connection master1
|
|
drop database db;
|
|
--source include/reset_master_slave.inc
|
|
--disconnect master1
|
|
|
|
--connection master2
|
|
drop database db;
|
|
--source include/reset_master_slave.inc
|
|
--disconnect master2
|
|
|