mirror of
https://github.com/MariaDB/server.git
synced 2025-01-20 05:52:27 +01:00
2c4fa340cc
Fixed bugs in my last changeset that made MySQL hard to compile. Added mutex around some data that could cause table cache corruptions when using OPTIMIZE TABLE / REPAIR TABLE or automatic repair of MyISAM tables. Added mutex around some data in the slave start/stop code that could cause THD linked list corruptions Extended my_chsize() to allow one to specify a filler character. Extend vio_blocking to return the old state (This made some usage of this function much simpler) Added testing for some functions that they caller have got the required mutexes before calling the function. Use setrlimit() to ensure that we can write core file if one specifies --core-file. Added --slave-compressed-protocol Made 2 the minimum length for ft_min_word_len Added variables foreign_key_checks & unique_checks. Less logging from replication code (if not started with --log-warnings) Changed that SHOW INNODB STATUS requre the SUPER privilege More DBUG statements and a lot of new code comments
87 lines
2.1 KiB
Text
87 lines
2.1 KiB
Text
# This one assumes we are ignoring updates on tables in database foo, but doing
|
|
# the ones in database bar
|
|
|
|
source include/master-slave.inc;
|
|
drop database if exists foo;
|
|
create database foo;
|
|
drop database if exists bar;
|
|
create database bar;
|
|
save_master_pos;
|
|
connection slave;
|
|
sync_with_master;
|
|
drop table if exists foo.foo;
|
|
create table foo.foo (n int);
|
|
insert into foo.foo values(4);
|
|
connection master;
|
|
drop table if exists foo.foo;
|
|
create table foo.foo (n int);
|
|
insert into foo.foo values(5);
|
|
drop table if exists bar.bar;
|
|
create table bar.bar (m int);
|
|
insert into bar.bar values(15);
|
|
save_master_pos;
|
|
connection slave;
|
|
sync_with_master;
|
|
select foo.foo.n,bar.bar.m from foo.foo,bar.bar;
|
|
connection master;
|
|
drop database if exists bar;
|
|
drop database if exists foo;
|
|
save_master_pos;
|
|
connection slave;
|
|
sync_with_master;
|
|
drop database if exists bar;
|
|
drop database if exists foo;
|
|
|
|
# Now let's test load data from master
|
|
|
|
# First create some databases and tables on the master
|
|
|
|
connection master;
|
|
set sql_log_bin = 0;
|
|
create database foo;
|
|
create database bar;
|
|
show databases;
|
|
create table foo.t1(n int, s char(20));
|
|
create table foo.t2(n int, s text);
|
|
insert into foo.t1 values (1, 'one'), (2, 'two'), (3, 'three');
|
|
insert into foo.t2 values (11, 'eleven'), (12, 'twelve'), (13, 'thirteen');
|
|
|
|
create table bar.t1(n int, s char(20));
|
|
create table bar.t2(n int, s text);
|
|
insert into bar.t1 values (1, 'one bar'), (2, 'two bar'), (3, 'three bar');
|
|
insert into bar.t2 values (11, 'eleven bar'), (12, 'twelve bar'),
|
|
(13, 'thirteen bar');
|
|
set sql_log_bin = 1;
|
|
save_master_pos;
|
|
connection slave;
|
|
sync_with_master;
|
|
|
|
# This should show that the slave is empty at this point
|
|
show databases;
|
|
load data from master;
|
|
|
|
# Now let's check if we have the right tables and the right data in them
|
|
show databases;
|
|
use foo;
|
|
show tables;
|
|
use bar;
|
|
show tables;
|
|
select * from bar.t1;
|
|
select * from bar.t2;
|
|
|
|
# Now let's see if replication works
|
|
connection master;
|
|
insert into bar.t1 values (4, 'four bar');
|
|
save_master_pos;
|
|
connection slave;
|
|
sync_with_master;
|
|
select * from bar.t1;
|
|
|
|
# Now time for cleanup
|
|
connection master;
|
|
drop database bar;
|
|
drop database foo;
|
|
save_master_pos;
|
|
connection slave;
|
|
sync_with_master;
|
|
|