1
include/master-slave.inc
3
Note #### Sending passwords in plain text without SSL/TLS is extremely insecure.
4
Note #### Storing MySQL user name or password information in the master info repository is not secure and is therefore not recommended. Please consider using the USER and PASSWORD connection options for START SLAVE; see the 'START SLAVE Syntax' in the MySQL Manual for more information.
6
DROP TABLE IF EXISTS t1;
7
DROP TABLE IF EXISTS t2;
8
DROP TABLE IF EXISTS t3;
9
create table t1 (a int auto_increment, primary key (a), b int, rand_value double not null);
10
create table t2 (a int auto_increment, primary key (a), b int);
11
create table t3 (a int auto_increment, primary key (a), name varchar(64) not null, old_a int, old_b int, rand_value double not null);
12
create trigger t1 before insert on t1 for each row
14
insert into t3 values (NULL, "t1", new.a, new.b, rand());
16
create trigger t2 after insert on t2 for each row
18
insert into t3 values (NULL, "t2", new.a, new.b, rand());
20
insert into t3 values(100,"log",0,0,0);
21
SET @@RAND_SEED1=658490765, @@RAND_SEED2=635893186;
22
insert into t1 values(1,1,rand()),(NULL,2,rand());
23
insert into t2 (b) values(last_insert_id());
24
insert into t2 values(3,0),(NULL,0);
25
insert into t2 values(NULL,0),(500,0);
26
select a,b, truncate(rand_value,4) from t1;
27
a b truncate(rand_value,4)
37
select a,name, old_a, old_b, truncate(rand_value,4) from t3;
38
a name old_a old_b truncate(rand_value,4)
49
select a,b, truncate(rand_value,4) from t1;
50
a b truncate(rand_value,4)
60
select a,name, old_a, old_b, truncate(rand_value,4) from t3;
61
a name old_a old_b truncate(rand_value,4)
71
select get_lock("bug12480",2);
72
get_lock("bug12480",2)
74
create table t1 (a datetime,b datetime, c datetime);
75
drop function if exists bug12480;
76
create function bug12480() returns datetime
78
set @a=get_lock("bug12480",2);
81
create trigger t1_first before insert on t1
83
set @a=get_lock("bug12480",2);
85
set new.c= bug12480();
88
insert into t1 set a = now();
89
select a=b && a=c from t1;
92
SELECT routine_name, definer
93
FROM information_schema.routines
94
WHERE routine_name = 'bug12480';
96
bug12480 root@localhost
97
SELECT trigger_name, definer
98
FROM information_schema.triggers
99
WHERE trigger_name = 't1_first';
101
t1_first root@localhost
104
SELECT routine_name, definer
105
FROM information_schema.routines
106
WHERE routine_name = 'bug12480';
108
bug12480 root@localhost
109
SELECT trigger_name, definer
110
FROM information_schema.triggers
111
WHERE trigger_name = 't1_first';
113
t1_first root@localhost
114
select a=b && a=c from t1;
120
drop trigger t1_first;
121
insert into t1 values ("2003-03-03","2003-03-03","2003-03-03"),(bug12480(),bug12480(),bug12480()),(now(),now(),now());
122
select a=b && a=c from t1;
127
drop function bug12480;
129
create table t1 (i int);
130
create table t2 (i int);
131
create trigger tr1 before insert on t1 for each row
133
insert into t2 values (1);
135
create database other;
137
insert into test.t1 values (1);
141
test case for BUG#13227
145
drop table if exists t110;
146
drop table if exists t210,t310;
147
create table t110 (f1 int) /* 2 replicate */;
148
insert into t110 values (-5);
149
insert into t110 values (-4);
150
insert into t110 values (-3);
151
insert into t110 values (-2);
152
insert into t110 values (-1);
160
create trigger trg110 before update on t110 /* slave local */
164
SELECT f2 INTO r FROM t210 where f1=NEW.f1;
165
INSERT INTO t310 values (r);
167
create table t210 (f1 int, f2 int) /* slave local */;
168
create table t310 (f3 int) /* slave local */;
169
insert into t210 values (5, 5*100);
170
insert into t210 values (4, 4*100);
171
insert into t210 values (3, 3*100);
172
insert into t210 values (2, 2*100);
173
insert into t210 values (1, 1*100);
181
UPDATE t110 SET f1=5 where f1=-5;
182
SELECT * from t110 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
189
SELECT * from t310 /* must be f3 5*100 */;
192
UPDATE t110 SET f1=5 where f1=-5;
193
UPDATE t110 SET f1=4 where f1=-4;
194
UPDATE t110 SET f1=3 where f1=-3;
195
UPDATE t110 SET f1=2 where f1=-2;
196
UPDATE t110 SET f1=1 where f1=-1;
197
SELECT * from t110 /* must be f1 5 ... 1 */;
204
SELECT * from t310 /* must be f3 5 * 100 ... 100 */;
212
drop table t210,t310;
217
drop table if exists t19;
218
drop table if exists t29,t39;
219
create table t19 (f1 int) /* 2 replicate */;
220
insert into t19 values (-5);
221
insert into t19 values (-4);
222
insert into t19 values (-3);
223
insert into t19 values (-2);
224
insert into t19 values (-1);
232
create trigger trg19 before update on t19 /* slave local */
236
SELECT f2 INTO r FROM t29 where f1=NEW.f1;
237
INSERT INTO t39 values (r);
239
create table t29 (f1 int, f2 int) /* slave local */;
240
create table t39 (f3 int) /* slave local */;
241
insert into t29 values (5, 5*100);
242
insert into t29 values (4, 4*100);
243
insert into t29 values (3, 3*100);
244
insert into t29 values (2, 2*100);
245
insert into t29 values (1, 1*100);
253
UPDATE t19 SET f1=5 where f1=-5;
254
SELECT * from t19 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
261
SELECT * from t39 /* must be f3 5*100 */;
264
UPDATE t19 SET f1=5 where f1=-5;
265
UPDATE t19 SET f1=4 where f1=-4;
266
UPDATE t19 SET f1=3 where f1=-3;
267
UPDATE t19 SET f1=2 where f1=-2;
268
UPDATE t19 SET f1=1 where f1=-1;
269
SELECT * from t19 /* must be f1 5 ... 1 */;
276
SELECT * from t39 /* must be f3 5 * 100 ... 100 */;
289
drop table if exists t18;
290
drop table if exists t28,t38;
291
create table t18 (f1 int) /* 2 replicate */;
292
insert into t18 values (-5);
293
insert into t18 values (-4);
294
insert into t18 values (-3);
295
insert into t18 values (-2);
296
insert into t18 values (-1);
304
create trigger trg18 before update on t18 /* slave local */
308
SELECT f2 INTO r FROM t28 where f1=NEW.f1;
309
INSERT INTO t38 values (r);
311
create table t28 (f1 int, f2 int) /* slave local */;
312
create table t38 (f3 int) /* slave local */;
313
insert into t28 values (5, 5*100);
314
insert into t28 values (4, 4*100);
315
insert into t28 values (3, 3*100);
316
insert into t28 values (2, 2*100);
317
insert into t28 values (1, 1*100);
325
UPDATE t18 SET f1=5 where f1=-5;
326
SELECT * from t18 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
333
SELECT * from t38 /* must be f3 5*100 */;
336
UPDATE t18 SET f1=5 where f1=-5;
337
UPDATE t18 SET f1=4 where f1=-4;
338
UPDATE t18 SET f1=3 where f1=-3;
339
UPDATE t18 SET f1=2 where f1=-2;
340
UPDATE t18 SET f1=1 where f1=-1;
341
SELECT * from t18 /* must be f1 5 ... 1 */;
348
SELECT * from t38 /* must be f3 5 * 100 ... 100 */;
361
drop table if exists t17;
362
drop table if exists t27,t37;
363
create table t17 (f1 int) /* 2 replicate */;
364
insert into t17 values (-5);
365
insert into t17 values (-4);
366
insert into t17 values (-3);
367
insert into t17 values (-2);
368
insert into t17 values (-1);
376
create trigger trg17 before update on t17 /* slave local */
380
SELECT f2 INTO r FROM t27 where f1=NEW.f1;
381
INSERT INTO t37 values (r);
383
create table t27 (f1 int, f2 int) /* slave local */;
384
create table t37 (f3 int) /* slave local */;
385
insert into t27 values (5, 5*100);
386
insert into t27 values (4, 4*100);
387
insert into t27 values (3, 3*100);
388
insert into t27 values (2, 2*100);
389
insert into t27 values (1, 1*100);
397
UPDATE t17 SET f1=5 where f1=-5;
398
SELECT * from t17 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
405
SELECT * from t37 /* must be f3 5*100 */;
408
UPDATE t17 SET f1=5 where f1=-5;
409
UPDATE t17 SET f1=4 where f1=-4;
410
UPDATE t17 SET f1=3 where f1=-3;
411
UPDATE t17 SET f1=2 where f1=-2;
412
UPDATE t17 SET f1=1 where f1=-1;
413
SELECT * from t17 /* must be f1 5 ... 1 */;
420
SELECT * from t37 /* must be f3 5 * 100 ... 100 */;
433
drop table if exists t16;
434
drop table if exists t26,t36;
435
create table t16 (f1 int) /* 2 replicate */;
436
insert into t16 values (-5);
437
insert into t16 values (-4);
438
insert into t16 values (-3);
439
insert into t16 values (-2);
440
insert into t16 values (-1);
448
create trigger trg16 before update on t16 /* slave local */
452
SELECT f2 INTO r FROM t26 where f1=NEW.f1;
453
INSERT INTO t36 values (r);
455
create table t26 (f1 int, f2 int) /* slave local */;
456
create table t36 (f3 int) /* slave local */;
457
insert into t26 values (5, 5*100);
458
insert into t26 values (4, 4*100);
459
insert into t26 values (3, 3*100);
460
insert into t26 values (2, 2*100);
461
insert into t26 values (1, 1*100);
469
UPDATE t16 SET f1=5 where f1=-5;
470
SELECT * from t16 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
477
SELECT * from t36 /* must be f3 5*100 */;
480
UPDATE t16 SET f1=5 where f1=-5;
481
UPDATE t16 SET f1=4 where f1=-4;
482
UPDATE t16 SET f1=3 where f1=-3;
483
UPDATE t16 SET f1=2 where f1=-2;
484
UPDATE t16 SET f1=1 where f1=-1;
485
SELECT * from t16 /* must be f1 5 ... 1 */;
492
SELECT * from t36 /* must be f3 5 * 100 ... 100 */;
505
drop table if exists t15;
506
drop table if exists t25,t35;
507
create table t15 (f1 int) /* 2 replicate */;
508
insert into t15 values (-5);
509
insert into t15 values (-4);
510
insert into t15 values (-3);
511
insert into t15 values (-2);
512
insert into t15 values (-1);
520
create trigger trg15 before update on t15 /* slave local */
524
SELECT f2 INTO r FROM t25 where f1=NEW.f1;
525
INSERT INTO t35 values (r);
527
create table t25 (f1 int, f2 int) /* slave local */;
528
create table t35 (f3 int) /* slave local */;
529
insert into t25 values (5, 5*100);
530
insert into t25 values (4, 4*100);
531
insert into t25 values (3, 3*100);
532
insert into t25 values (2, 2*100);
533
insert into t25 values (1, 1*100);
541
UPDATE t15 SET f1=5 where f1=-5;
542
SELECT * from t15 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
549
SELECT * from t35 /* must be f3 5*100 */;
552
UPDATE t15 SET f1=5 where f1=-5;
553
UPDATE t15 SET f1=4 where f1=-4;
554
UPDATE t15 SET f1=3 where f1=-3;
555
UPDATE t15 SET f1=2 where f1=-2;
556
UPDATE t15 SET f1=1 where f1=-1;
557
SELECT * from t15 /* must be f1 5 ... 1 */;
564
SELECT * from t35 /* must be f3 5 * 100 ... 100 */;
577
drop table if exists t14;
578
drop table if exists t24,t34;
579
create table t14 (f1 int) /* 2 replicate */;
580
insert into t14 values (-5);
581
insert into t14 values (-4);
582
insert into t14 values (-3);
583
insert into t14 values (-2);
584
insert into t14 values (-1);
592
create trigger trg14 before update on t14 /* slave local */
596
SELECT f2 INTO r FROM t24 where f1=NEW.f1;
597
INSERT INTO t34 values (r);
599
create table t24 (f1 int, f2 int) /* slave local */;
600
create table t34 (f3 int) /* slave local */;
601
insert into t24 values (5, 5*100);
602
insert into t24 values (4, 4*100);
603
insert into t24 values (3, 3*100);
604
insert into t24 values (2, 2*100);
605
insert into t24 values (1, 1*100);
613
UPDATE t14 SET f1=5 where f1=-5;
614
SELECT * from t14 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
621
SELECT * from t34 /* must be f3 5*100 */;
624
UPDATE t14 SET f1=5 where f1=-5;
625
UPDATE t14 SET f1=4 where f1=-4;
626
UPDATE t14 SET f1=3 where f1=-3;
627
UPDATE t14 SET f1=2 where f1=-2;
628
UPDATE t14 SET f1=1 where f1=-1;
629
SELECT * from t14 /* must be f1 5 ... 1 */;
636
SELECT * from t34 /* must be f3 5 * 100 ... 100 */;
649
drop table if exists t13;
650
drop table if exists t23,t33;
651
create table t13 (f1 int) /* 2 replicate */;
652
insert into t13 values (-5);
653
insert into t13 values (-4);
654
insert into t13 values (-3);
655
insert into t13 values (-2);
656
insert into t13 values (-1);
664
create trigger trg13 before update on t13 /* slave local */
668
SELECT f2 INTO r FROM t23 where f1=NEW.f1;
669
INSERT INTO t33 values (r);
671
create table t23 (f1 int, f2 int) /* slave local */;
672
create table t33 (f3 int) /* slave local */;
673
insert into t23 values (5, 5*100);
674
insert into t23 values (4, 4*100);
675
insert into t23 values (3, 3*100);
676
insert into t23 values (2, 2*100);
677
insert into t23 values (1, 1*100);
685
UPDATE t13 SET f1=5 where f1=-5;
686
SELECT * from t13 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
693
SELECT * from t33 /* must be f3 5*100 */;
696
UPDATE t13 SET f1=5 where f1=-5;
697
UPDATE t13 SET f1=4 where f1=-4;
698
UPDATE t13 SET f1=3 where f1=-3;
699
UPDATE t13 SET f1=2 where f1=-2;
700
UPDATE t13 SET f1=1 where f1=-1;
701
SELECT * from t13 /* must be f1 5 ... 1 */;
708
SELECT * from t33 /* must be f3 5 * 100 ... 100 */;
721
drop table if exists t12;
722
drop table if exists t22,t32;
723
create table t12 (f1 int) /* 2 replicate */;
724
insert into t12 values (-5);
725
insert into t12 values (-4);
726
insert into t12 values (-3);
727
insert into t12 values (-2);
728
insert into t12 values (-1);
736
create trigger trg12 before update on t12 /* slave local */
740
SELECT f2 INTO r FROM t22 where f1=NEW.f1;
741
INSERT INTO t32 values (r);
743
create table t22 (f1 int, f2 int) /* slave local */;
744
create table t32 (f3 int) /* slave local */;
745
insert into t22 values (5, 5*100);
746
insert into t22 values (4, 4*100);
747
insert into t22 values (3, 3*100);
748
insert into t22 values (2, 2*100);
749
insert into t22 values (1, 1*100);
757
UPDATE t12 SET f1=5 where f1=-5;
758
SELECT * from t12 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
765
SELECT * from t32 /* must be f3 5*100 */;
768
UPDATE t12 SET f1=5 where f1=-5;
769
UPDATE t12 SET f1=4 where f1=-4;
770
UPDATE t12 SET f1=3 where f1=-3;
771
UPDATE t12 SET f1=2 where f1=-2;
772
UPDATE t12 SET f1=1 where f1=-1;
773
SELECT * from t12 /* must be f1 5 ... 1 */;
780
SELECT * from t32 /* must be f3 5 * 100 ... 100 */;
793
drop table if exists t11;
794
drop table if exists t21,t31;
795
create table t11 (f1 int) /* 2 replicate */;
796
insert into t11 values (-5);
797
insert into t11 values (-4);
798
insert into t11 values (-3);
799
insert into t11 values (-2);
800
insert into t11 values (-1);
808
create trigger trg11 before update on t11 /* slave local */
812
SELECT f2 INTO r FROM t21 where f1=NEW.f1;
813
INSERT INTO t31 values (r);
815
create table t21 (f1 int, f2 int) /* slave local */;
816
create table t31 (f3 int) /* slave local */;
817
insert into t21 values (5, 5*100);
818
insert into t21 values (4, 4*100);
819
insert into t21 values (3, 3*100);
820
insert into t21 values (2, 2*100);
821
insert into t21 values (1, 1*100);
829
UPDATE t11 SET f1=5 where f1=-5;
830
SELECT * from t11 /* must be f1 5, 1 - 5 2 - 5 ... -1 */;
837
SELECT * from t31 /* must be f3 5*100 */;
840
UPDATE t11 SET f1=5 where f1=-5;
841
UPDATE t11 SET f1=4 where f1=-4;
842
UPDATE t11 SET f1=3 where f1=-3;
843
UPDATE t11 SET f1=2 where f1=-2;
844
UPDATE t11 SET f1=1 where f1=-1;
845
SELECT * from t11 /* must be f1 5 ... 1 */;
852
SELECT * from t31 /* must be f3 5 * 100 ... 100 */;
864
include/rpl_stop_server.inc [server_number=1]
865
include/rpl_start_server.inc [server_number=1]
866
--> Master binlog: Server ver: 5.0.16-debug-log, Binlog ver: 4
869
SELECT MASTER_POS_WAIT('master-bin.000001', 513) >= 0;
870
MASTER_POS_WAIT('master-bin.000001', 513) >= 0
872
SHOW TABLES LIKE 't_';
877
Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
878
trg1 INSERT t1 INSERT INTO t2 VALUES(CURRENT_USER()) AFTER NULL latin1 latin1_swedish_ci latin1_swedish_ci
885
INSERT INTO t1 VALUES(2);
899
SHOW TABLES LIKE 't_';
902
Trigger Event Table Statement Timing Created sql_mode Definer character_set_client collation_connection Database Collation
905
include/rpl_reset.inc
907
---> Test for BUG#20438
909
---> Preparing environment...
910
---> connection: master
911
DROP TABLE IF EXISTS t1;
912
DROP TABLE IF EXISTS t2;
914
---> Synchronizing slave with master...
916
---> connection: master
918
---> Creating objects...
919
CREATE TABLE t1(c INT);
920
CREATE TABLE t2(c INT);
921
/*!50003 CREATE TRIGGER t1_bi BEFORE INSERT ON t1
923
INSERT INTO t2 VALUES(NEW.c * 10) */;
925
---> Inserting value...
926
INSERT INTO t1 VALUES(1);
928
---> Checking on master...
936
---> Synchronizing slave with master...
937
---> connection: master
939
---> Checking on slave...
947
---> connection: master
952
drop table if exists t1;
953
create table t1(a int, b varchar(50));
954
drop trigger not_a_trigger;
955
ERROR HY000: Trigger does not exist
956
drop trigger if exists not_a_trigger;
958
Note 1360 Trigger does not exist
959
create trigger t1_bi before insert on t1
960
for each row set NEW.b := "In trigger t1_bi";
961
insert into t1 values (1, "a");
962
drop trigger if exists t1_bi;
963
insert into t1 values (2, "b");
964
drop trigger if exists t1_bi;
966
Note 1360 Trigger does not exist
967
insert into t1 values (3, "c");
979
include/rpl_reset.inc
980
create table t1 ( f int ) engine = innodb;
981
create table log ( r int ) engine = myisam;
984
for each row insert into log values ( new.f );
986
insert into t1 values ( 1 );
989
Warning 1196 Some non-transactional changed tables couldn't be rolled back
990
include/diff_tables.inc [master:t1, slave:t1]
991
include/diff_tables.inc [master:log, slave:log]