mirror of
https://github.com/MariaDB/server.git
synced 2025-01-21 06:22:28 +01:00
194 lines
4.3 KiB
Text
194 lines
4.3 KiB
Text
stop slave;
|
|
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
|
reset master;
|
|
reset slave;
|
|
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
|
start slave;
|
|
==== Test Without sql_mode=strict_trans_tables ====
|
|
[on master]
|
|
create table t1 (n int not null primary key);
|
|
[on slave]
|
|
insert into t1 values (1);
|
|
[on master]
|
|
insert into t1 values (1);
|
|
insert into t1 values (2),(3);
|
|
[on slave]
|
|
select * from t1 order by n;
|
|
n
|
|
1
|
|
2
|
|
3
|
|
==== Test With sql_mode=strict_trans_tables ====
|
|
insert into t1 values (7),(8);
|
|
[on master]
|
|
set sql_mode=strict_trans_tables;
|
|
insert into t1 values (7), (8), (9);
|
|
[on slave]
|
|
select * from t1 order by n;
|
|
n
|
|
1
|
|
2
|
|
3
|
|
7
|
|
8
|
|
SHOW SLAVE STATUS;
|
|
Slave_IO_State #
|
|
Master_Host 127.0.0.1
|
|
Master_User root
|
|
Master_Port MASTER_PORT
|
|
Connect_Retry 1
|
|
Master_Log_File master-bin.000001
|
|
Read_Master_Log_Pos #
|
|
Relay_Log_File #
|
|
Relay_Log_Pos #
|
|
Relay_Master_Log_File master-bin.000001
|
|
Slave_IO_Running Yes
|
|
Slave_SQL_Running Yes
|
|
Replicate_Do_DB
|
|
Replicate_Ignore_DB
|
|
Replicate_Do_Table
|
|
Replicate_Ignore_Table #
|
|
Replicate_Wild_Do_Table
|
|
Replicate_Wild_Ignore_Table
|
|
Last_Errno 0
|
|
Last_Error
|
|
Skip_Counter 0
|
|
Exec_Master_Log_Pos #
|
|
Relay_Log_Space #
|
|
Until_Condition None
|
|
Until_Log_File
|
|
Until_Log_Pos 0
|
|
Master_SSL_Allowed No
|
|
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 No
|
|
Last_IO_Errno #
|
|
Last_IO_Error #
|
|
Last_SQL_Errno 0
|
|
Last_SQL_Error
|
|
Replicate_Ignore_Server_Ids
|
|
Master_Server_Id 1
|
|
==== Clean Up ====
|
|
drop table t1;
|
|
create table t1(a int primary key);
|
|
insert into t1 values (1),(2);
|
|
SET SQL_LOG_BIN=0;
|
|
delete from t1;
|
|
SET SQL_LOG_BIN=1;
|
|
set sql_mode=strict_trans_tables;
|
|
insert into t1 values (1), (2), (3);
|
|
[on slave]
|
|
select * from t1;
|
|
a
|
|
1
|
|
2
|
|
SHOW SLAVE STATUS;
|
|
Slave_IO_State #
|
|
Master_Host 127.0.0.1
|
|
Master_User root
|
|
Master_Port MASTER_PORT
|
|
Connect_Retry 1
|
|
Master_Log_File master-bin.000001
|
|
Read_Master_Log_Pos #
|
|
Relay_Log_File #
|
|
Relay_Log_Pos #
|
|
Relay_Master_Log_File master-bin.000001
|
|
Slave_IO_Running Yes
|
|
Slave_SQL_Running Yes
|
|
Replicate_Do_DB
|
|
Replicate_Ignore_DB
|
|
Replicate_Do_Table
|
|
Replicate_Ignore_Table #
|
|
Replicate_Wild_Do_Table
|
|
Replicate_Wild_Ignore_Table
|
|
Last_Errno 0
|
|
Last_Error
|
|
Skip_Counter 0
|
|
Exec_Master_Log_Pos #
|
|
Relay_Log_Space #
|
|
Until_Condition None
|
|
Until_Log_File
|
|
Until_Log_Pos 0
|
|
Master_SSL_Allowed No
|
|
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 No
|
|
Last_IO_Errno #
|
|
Last_IO_Error #
|
|
Last_SQL_Errno 0
|
|
Last_SQL_Error
|
|
Replicate_Ignore_Server_Ids
|
|
Master_Server_Id 1
|
|
==== Clean Up ====
|
|
drop table t1;
|
|
==== Using Innodb ====
|
|
SET SQL_LOG_BIN=0;
|
|
CREATE TABLE t1(id INT NOT NULL PRIMARY KEY, data INT) Engine=InnoDB;
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`id` int(11) NOT NULL,
|
|
`data` int(11) DEFAULT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
|
SET SQL_LOG_BIN=1;
|
|
CREATE TABLE t1(id INT NOT NULL PRIMARY KEY, data INT) Engine=InnoDB;
|
|
SHOW CREATE TABLE t1;
|
|
Table Create Table
|
|
t1 CREATE TABLE `t1` (
|
|
`id` int(11) NOT NULL,
|
|
`data` int(11) DEFAULT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1
|
|
INSERT INTO t1 VALUES(1, 1);
|
|
INSERT INTO t1 VALUES(2, 1);
|
|
INSERT INTO t1 VALUES(3, 1);
|
|
INSERT INTO t1 VALUES(4, 1);
|
|
SET SQL_LOG_BIN=0;
|
|
DELETE FROM t1 WHERE id = 4;
|
|
SET SQL_LOG_BIN=1;
|
|
UPDATE t1 SET id= id + 3, data = 2;
|
|
|
|
**** We cannot execute a select as there are differences in the
|
|
**** behavior between STMT and RBR.
|
|
==== Using MyIsam ====
|
|
SET SQL_LOG_BIN=0;
|
|
CREATE TABLE t2(id INT NOT NULL PRIMARY KEY, data INT) Engine=MyIsam;
|
|
SHOW CREATE TABLE t2;
|
|
Table Create Table
|
|
t2 CREATE TABLE `t2` (
|
|
`id` int(11) NOT NULL,
|
|
`data` int(11) DEFAULT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
|
SET SQL_LOG_BIN=1;
|
|
CREATE TABLE t2(id INT NOT NULL PRIMARY KEY, data INT) Engine=MyIsam;
|
|
SHOW CREATE TABLE t2;
|
|
Table Create Table
|
|
t2 CREATE TABLE `t2` (
|
|
`id` int(11) NOT NULL,
|
|
`data` int(11) DEFAULT NULL,
|
|
PRIMARY KEY (`id`)
|
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
|
INSERT INTO t2 VALUES(1, 1);
|
|
INSERT INTO t2 VALUES(2, 1);
|
|
INSERT INTO t2 VALUES(3, 1);
|
|
INSERT INTO t2 VALUES(5, 1);
|
|
SET SQL_LOG_BIN=0;
|
|
DELETE FROM t2 WHERE id = 5;
|
|
SET SQL_LOG_BIN=1;
|
|
UPDATE t2 SET id= id + 3, data = 2;
|
|
|
|
**** We cannot execute a select as there are differences in the
|
|
**** behavior between STMT and RBR.
|
|
==== Clean Up ====
|
|
DROP TABLE t1;
|
|
DROP TABLE t2;
|