mirror of
https://github.com/MariaDB/server.git
synced 2025-02-12 08:25:35 +01:00
![Monty](/assets/img/avatar_default.png)
- FLUSH GLOBAL STATUS now resets most global_status_vars. At this stage, this is mainly to be used for testing. - FLUSH SESSION STATUS added as an alias for FLUSH STATUS. - FLUSH STATUS does not require any privilege (before required RELOAD). - FLUSH GLOBAL STATUS requires RELOAD privilege. - All global status reset moved to FLUSH GLOBAL STATUS. - Replication semisync status variables are now reset by FLUSH GLOBAL STATUS. - In test cases, the only changes are: - Replace FLUSH STATUS with FLUSH GLOBAL STATUS - Replace FLUSH STATUS with FLUSH STATUS; FLUSH GLOBAL STATUS. This was only done in a few tests where the test was using SHOW STATUS for both local and global variables. - Uptime_since_flush_status is now always provided, independent if ENABLED_PROFILING is enabled when compiling MariaDB. - @@global.Uptime_since_flush_status is reset on FLUSH GLOBAL STATUS and @@session.Uptime_since_flush_status is reset on FLUSH SESSION STATUS. - When connected, @@session.Uptime_since_flush_status is set to 0.
283 lines
7.8 KiB
Text
283 lines
7.8 KiB
Text
include/master-slave.inc
|
|
[connection master]
|
|
connection server_2;
|
|
include/stop_slave.inc
|
|
SET GLOBAL gtid_cleanup_batch_size = 999999999;
|
|
CHANGE MASTER TO master_use_gtid=slave_pos;
|
|
SET sql_log_bin=0;
|
|
CREATE TABLE mysql.gtid_slave_pos_innodb LIKE mysql.gtid_slave_pos;
|
|
ALTER TABLE mysql.gtid_slave_pos_innodb ENGINE=InnoDB;
|
|
CREATE TABLE mysql.gtid_slave_pos_rocksdb LIKE mysql.gtid_slave_pos;
|
|
ALTER TABLE mysql.gtid_slave_pos_rocksdb ENGINE=rocksdb;
|
|
CREATE TABLE mysql.gtid_slave_pos_myisam_redundant LIKE mysql.gtid_slave_pos;
|
|
CREATE TABLE mysql.gtid_slave_pos_innodb_redundant LIKE mysql.gtid_slave_pos;
|
|
ALTER TABLE mysql.gtid_slave_pos_innodb_redundant ENGINE=InnoDB;
|
|
call mtr.add_suppression("Ignoring redundant table.*since.*has the same storage engine");
|
|
include/start_slave.inc
|
|
connection server_1;
|
|
CREATE TABLE t1 (a INT PRIMARY KEY) ENGINE=MyISAM;
|
|
CREATE TABLE t2 (a INT PRIMARY KEY) ENGINE=InnoDB;
|
|
CREATE TABLE t3 (a INT PRIMARY KEY) ENGINE=rocksdb;
|
|
INSERT INTO t1 VALUES (1);
|
|
INSERT INTO t2 VALUES (1);
|
|
INSERT INTO t3 VALUES (1);
|
|
SELECT * FROM t1 ORDER BY a;
|
|
a
|
|
1
|
|
SELECT * FROM t2 ORDER BY a;
|
|
a
|
|
1
|
|
SELECT * FROM t3 ORDER BY a;
|
|
a
|
|
1
|
|
connection server_2;
|
|
SELECT * FROM t1 ORDER BY a;
|
|
a
|
|
1
|
|
SELECT * FROM t2 ORDER BY a;
|
|
a
|
|
1
|
|
SELECT * FROM t3 ORDER BY a;
|
|
a
|
|
1
|
|
SELECT * FROM mysql.gtid_slave_pos ORDER BY sub_id;
|
|
domain_id sub_id server_id seq_no
|
|
0 1 1 1
|
|
0 2 1 2
|
|
0 3 1 3
|
|
0 4 1 4
|
|
SELECT * FROM ( SELECT * FROM mysql.gtid_slave_pos_innodb
|
|
UNION ALL SELECT * FROM mysql.gtid_slave_pos_innodb_redundant) inner_select
|
|
ORDER BY sub_id;
|
|
domain_id sub_id server_id seq_no
|
|
0 5 1 5
|
|
SELECT * FROM mysql.gtid_slave_pos_rocksdb ORDER BY sub_id;
|
|
domain_id sub_id server_id seq_no
|
|
0 6 1 6
|
|
connection server_2;
|
|
FLUSH NO_WRITE_TO_BINLOG GLOBAL STATUS;
|
|
SET sql_log_bin=0;
|
|
SHOW STATUS LIKE "Transactions_multi_engine";
|
|
Variable_name Value
|
|
Transactions_multi_engine 0
|
|
INSERT INTO t1 VALUES (100);
|
|
SHOW STATUS LIKE "Transactions_multi_engine";
|
|
Variable_name Value
|
|
Transactions_multi_engine 0
|
|
INSERT INTO t2 VALUES (101);
|
|
SHOW STATUS LIKE "Transactions_multi_engine";
|
|
Variable_name Value
|
|
Transactions_multi_engine 0
|
|
INSERT INTO t3 VALUES (101);
|
|
SHOW STATUS LIKE "Transactions_multi_engine";
|
|
Variable_name Value
|
|
Transactions_multi_engine 0
|
|
BEGIN;
|
|
INSERT INTO t3 VALUES (102);
|
|
INSERT INTO t2 VALUES (103);
|
|
COMMIT;
|
|
SHOW STATUS LIKE "Transactions_multi_engine";
|
|
Variable_name Value
|
|
Transactions_multi_engine 1
|
|
BEGIN;
|
|
INSERT INTO t2 VALUES (104);
|
|
INSERT INTO t3 VALUES (105);
|
|
COMMIT;
|
|
SHOW STATUS LIKE "Transactions_multi_engine";
|
|
Variable_name Value
|
|
Transactions_multi_engine 2
|
|
UPDATE t2, t3 SET t2.a=106, t3.a=107 WHERE t2.a=104 AND t3.a=105;
|
|
SHOW STATUS LIKE "Transactions_multi_engine";
|
|
Variable_name Value
|
|
Transactions_multi_engine 3
|
|
SET sql_log_bin=1;
|
|
INSERT INTO t1 VALUES (200);
|
|
SHOW STATUS LIKE "Transactions_multi_engine";
|
|
Variable_name Value
|
|
Transactions_multi_engine 3
|
|
INSERT INTO t2 VALUES (201);
|
|
SHOW STATUS LIKE "Transactions_multi_engine";
|
|
Variable_name Value
|
|
Transactions_multi_engine 3
|
|
INSERT INTO t3 VALUES (201);
|
|
SHOW STATUS LIKE "Transactions_multi_engine";
|
|
Variable_name Value
|
|
Transactions_multi_engine 3
|
|
BEGIN;
|
|
INSERT INTO t3 VALUES (202);
|
|
INSERT INTO t2 VALUES (203);
|
|
COMMIT;
|
|
SHOW STATUS LIKE "Transactions_multi_engine";
|
|
Variable_name Value
|
|
Transactions_multi_engine 4
|
|
BEGIN;
|
|
INSERT INTO t2 VALUES (204);
|
|
INSERT INTO t3 VALUES (205);
|
|
COMMIT;
|
|
SHOW STATUS LIKE "Transactions_multi_engine";
|
|
Variable_name Value
|
|
Transactions_multi_engine 5
|
|
UPDATE t2, t3 SET t2.a=206, t3.a=207 WHERE t2.a=204 AND t3.a=205;
|
|
SHOW STATUS LIKE "Transactions_multi_engine";
|
|
Variable_name Value
|
|
Transactions_multi_engine 6
|
|
DELETE FROM t1 WHERE a >= 100;
|
|
DELETE FROM t2 WHERE a >= 100;
|
|
DELETE FROM t3 WHERE a >= 100;
|
|
connection server_1;
|
|
include/save_master_gtid.inc
|
|
connection server_2;
|
|
include/sync_with_master_gtid.inc
|
|
SELECT COUNT(*)>=10 FROM mysql.gtid_slave_pos;
|
|
COUNT(*)>=10
|
|
1
|
|
SELECT COUNT(*)>=10 FROM ( SELECT * FROM mysql.gtid_slave_pos_innodb
|
|
UNION ALL SELECT * FROM mysql.gtid_slave_pos_innodb_redundant) inner_select;
|
|
COUNT(*)>=10
|
|
1
|
|
SELECT COUNT(*)>=10 FROM mysql.gtid_slave_pos_rocksdb;
|
|
COUNT(*)>=10
|
|
1
|
|
SET GLOBAL gtid_cleanup_batch_size = 3;
|
|
connection server_2;
|
|
include/stop_slave.inc
|
|
SET sql_log_bin=0;
|
|
DROP TABLE mysql.gtid_slave_pos_rocksdb;
|
|
DROP TABLE mysql.gtid_slave_pos_myisam_redundant;
|
|
DROP TABLE mysql.gtid_slave_pos_innodb_redundant;
|
|
SET sql_log_bin=1;
|
|
FLUSH NO_WRITE_TO_BINLOG GLOBAL STATUS;
|
|
include/start_slave.inc
|
|
SHOW STATUS LIKE "%transactions%engine";
|
|
Variable_name Value
|
|
Rpl_transactions_multi_engine 0
|
|
Transactions_gtid_foreign_engine 0
|
|
Transactions_multi_engine 0
|
|
connection server_1;
|
|
INSERT INTO t1 VALUES (100);
|
|
connection server_2;
|
|
SHOW STATUS LIKE "%transactions%engine";
|
|
Variable_name Value
|
|
Rpl_transactions_multi_engine 0
|
|
Transactions_gtid_foreign_engine 0
|
|
Transactions_multi_engine 0
|
|
connection server_1;
|
|
INSERT INTO t2 VALUES (101);
|
|
connection server_2;
|
|
SHOW STATUS LIKE "%transactions%engine";
|
|
Variable_name Value
|
|
Rpl_transactions_multi_engine 0
|
|
Transactions_gtid_foreign_engine 0
|
|
Transactions_multi_engine 0
|
|
connection server_1;
|
|
INSERT INTO t3 VALUES (101);
|
|
connection server_2;
|
|
SHOW STATUS LIKE "%transactions%engine";
|
|
Variable_name Value
|
|
Rpl_transactions_multi_engine 0
|
|
Transactions_gtid_foreign_engine 1
|
|
Transactions_multi_engine 0
|
|
connection server_1;
|
|
BEGIN;
|
|
INSERT INTO t3 VALUES (102);
|
|
INSERT INTO t2 VALUES (103);
|
|
COMMIT;
|
|
connection server_2;
|
|
SHOW STATUS LIKE "%transactions%engine";
|
|
Variable_name Value
|
|
Rpl_transactions_multi_engine 1
|
|
Transactions_gtid_foreign_engine 1
|
|
Transactions_multi_engine 1
|
|
connection server_1;
|
|
BEGIN;
|
|
INSERT INTO t2 VALUES (104);
|
|
INSERT INTO t3 VALUES (105);
|
|
COMMIT;
|
|
connection server_2;
|
|
SHOW STATUS LIKE "%transactions%engine";
|
|
Variable_name Value
|
|
Rpl_transactions_multi_engine 2
|
|
Transactions_gtid_foreign_engine 1
|
|
Transactions_multi_engine 2
|
|
connection server_1;
|
|
UPDATE t2, t3 SET t2.a=106, t3.a=107 WHERE t2.a=104 AND t3.a=105;
|
|
connection server_2;
|
|
SHOW STATUS LIKE "%transactions%engine";
|
|
Variable_name Value
|
|
Rpl_transactions_multi_engine 3
|
|
Transactions_gtid_foreign_engine 1
|
|
Transactions_multi_engine 3
|
|
connection server_2;
|
|
connection server_2;
|
|
SHOW VARIABLES LIKE 'log_bin';
|
|
Variable_name Value
|
|
log_bin OFF
|
|
include/start_slave.inc
|
|
SHOW STATUS LIKE "%transactions%engine";
|
|
Variable_name Value
|
|
Rpl_transactions_multi_engine 0
|
|
Transactions_gtid_foreign_engine 0
|
|
Transactions_multi_engine 0
|
|
connection server_1;
|
|
INSERT INTO t1 VALUES (200);
|
|
connection server_2;
|
|
SHOW STATUS LIKE "%transactions%engine";
|
|
Variable_name Value
|
|
Rpl_transactions_multi_engine 0
|
|
Transactions_gtid_foreign_engine 0
|
|
Transactions_multi_engine 0
|
|
connection server_1;
|
|
INSERT INTO t2 VALUES (201);
|
|
connection server_2;
|
|
SHOW STATUS LIKE "%transactions%engine";
|
|
Variable_name Value
|
|
Rpl_transactions_multi_engine 0
|
|
Transactions_gtid_foreign_engine 0
|
|
Transactions_multi_engine 0
|
|
connection server_1;
|
|
INSERT INTO t3 VALUES (201);
|
|
connection server_2;
|
|
SHOW STATUS LIKE "%transactions%engine";
|
|
Variable_name Value
|
|
Rpl_transactions_multi_engine 0
|
|
Transactions_gtid_foreign_engine 1
|
|
Transactions_multi_engine 0
|
|
connection server_1;
|
|
BEGIN;
|
|
INSERT INTO t3 VALUES (202);
|
|
INSERT INTO t2 VALUES (203);
|
|
COMMIT;
|
|
connection server_2;
|
|
SHOW STATUS LIKE "%transactions%engine";
|
|
Variable_name Value
|
|
Rpl_transactions_multi_engine 1
|
|
Transactions_gtid_foreign_engine 1
|
|
Transactions_multi_engine 1
|
|
connection server_1;
|
|
BEGIN;
|
|
INSERT INTO t2 VALUES (204);
|
|
INSERT INTO t3 VALUES (205);
|
|
COMMIT;
|
|
connection server_2;
|
|
SHOW STATUS LIKE "%transactions%engine";
|
|
Variable_name Value
|
|
Rpl_transactions_multi_engine 2
|
|
Transactions_gtid_foreign_engine 1
|
|
Transactions_multi_engine 2
|
|
connection server_1;
|
|
UPDATE t2, t3 SET t2.a=206, t3.a=207 WHERE t2.a=204 AND t3.a=205;
|
|
connection server_2;
|
|
SHOW STATUS LIKE "%transactions%engine";
|
|
Variable_name Value
|
|
Rpl_transactions_multi_engine 3
|
|
Transactions_gtid_foreign_engine 1
|
|
Transactions_multi_engine 3
|
|
connection server_2;
|
|
SET sql_log_bin=0;
|
|
DROP TABLE mysql.gtid_slave_pos_innodb;
|
|
SET sql_log_bin=1;
|
|
connection server_1;
|
|
DROP TABLE t1;
|
|
DROP TABLE t2;
|
|
DROP TABLE t3;
|
|
include/rpl_end.inc
|