mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 12:32:27 +01:00
f1b638d33c
Problem: mysqlbinlog --server-id may filter out Format_description_log_events. If mysqlbinlog does not process the Format_description_log_event, then mysqlbinlog cannot read the rest of the binary log correctly. This can have the effect that mysqlbinlog crashes, generates an error, or generates output that causes mysqld to crash, generate an error, or corrupt data. Fix: Never filter out Format_description_log_events. Also, never filter out Rotate_log_events. client/mysqlbinlog.cc: Process Format_description_log_events even when the server_id does not match the number given by --server-id. mysql-test/t/mysqlbinlog.test: Add test case.
672 lines
23 KiB
Text
672 lines
23 KiB
Text
reset master;
|
|
set timestamp=1000000000;
|
|
drop table if exists t1,t2,t3,t4,t5,t03,t04;
|
|
create table t1 (word varchar(20));
|
|
create table t2 (id int auto_increment not null primary key);
|
|
insert into t1 values ("abirvalg");
|
|
insert into t2 values ();
|
|
load data infile '../../std_data/words.dat' into table t1;
|
|
load data infile '../../std_data/words.dat' into table t1;
|
|
load data infile '../../std_data/words.dat' into table t1;
|
|
load data infile '../../std_data/words.dat' into table t1;
|
|
load data infile '../../std_data/words.dat' into table t1;
|
|
insert into t1 values ("Alas");
|
|
flush logs;
|
|
|
|
--- Local --
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
|
DELIMITER /*!*/;
|
|
ROLLBACK/*!*/;
|
|
use test/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
|
|
SET @@session.sql_mode=0/*!*/;
|
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
|
/*!\C latin1 *//*!*/;
|
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
|
SET @@session.lc_time_names=0/*!*/;
|
|
SET @@session.collation_database=DEFAULT/*!*/;
|
|
drop table if exists t1,t2,t3,t4,t5,t03,t04
|
|
/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
create table t1 (word varchar(20))
|
|
/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
create table t2 (id int auto_increment not null primary key)
|
|
/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
insert into t1 values ("abirvalg")
|
|
/*!*/;
|
|
SET INSERT_ID=1/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
insert into t2 values ()
|
|
/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
|
|
/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
|
|
/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
|
|
/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
|
|
/*!*/;
|
|
DELIMITER ;
|
|
# End of log file
|
|
ROLLBACK /* added by mysqlbinlog */;
|
|
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
|
|
|
--- Broken LOAD DATA --
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
|
DELIMITER /*!*/;
|
|
use test/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
|
|
SET @@session.sql_mode=0/*!*/;
|
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
|
/*!\C latin1 *//*!*/;
|
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
|
SET @@session.lc_time_names=0/*!*/;
|
|
SET @@session.collation_database=DEFAULT/*!*/;
|
|
insert into t1 values ("Alas")
|
|
/*!*/;
|
|
DELIMITER ;
|
|
# End of log file
|
|
ROLLBACK /* added by mysqlbinlog */;
|
|
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
|
|
|
--- --database --
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
|
DELIMITER /*!*/;
|
|
ROLLBACK/*!*/;
|
|
SET INSERT_ID=1/*!*/;
|
|
DELIMITER ;
|
|
# End of log file
|
|
ROLLBACK /* added by mysqlbinlog */;
|
|
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
|
|
|
--- --position --
|
|
Warning: The option '--position' is deprecated and will be removed in a future release. Please use --start-position instead.
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
|
DELIMITER /*!*/;
|
|
use test/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
|
|
SET @@session.sql_mode=0/*!*/;
|
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
|
/*!\C latin1 *//*!*/;
|
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
|
SET @@session.lc_time_names=0/*!*/;
|
|
SET @@session.collation_database=DEFAULT/*!*/;
|
|
insert into t1 values ("Alas")
|
|
/*!*/;
|
|
DELIMITER ;
|
|
# End of log file
|
|
ROLLBACK /* added by mysqlbinlog */;
|
|
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
|
|
|
--- Remote --
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
|
DELIMITER /*!*/;
|
|
ROLLBACK/*!*/;
|
|
use test/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
|
|
SET @@session.sql_mode=0/*!*/;
|
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
|
/*!\C latin1 *//*!*/;
|
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
|
SET @@session.lc_time_names=0/*!*/;
|
|
SET @@session.collation_database=DEFAULT/*!*/;
|
|
drop table if exists t1,t2,t3,t4,t5,t03,t04
|
|
/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
create table t1 (word varchar(20))
|
|
/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
create table t2 (id int auto_increment not null primary key)
|
|
/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
insert into t1 values ("abirvalg")
|
|
/*!*/;
|
|
SET INSERT_ID=1/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
insert into t2 values ()
|
|
/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
|
|
/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
|
|
/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
|
|
/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`word`)
|
|
/*!*/;
|
|
DELIMITER ;
|
|
# End of log file
|
|
ROLLBACK /* added by mysqlbinlog */;
|
|
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
|
|
|
--- Broken LOAD DATA --
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
|
DELIMITER /*!*/;
|
|
use test/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
|
|
SET @@session.sql_mode=0/*!*/;
|
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
|
/*!\C latin1 *//*!*/;
|
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
|
SET @@session.lc_time_names=0/*!*/;
|
|
SET @@session.collation_database=DEFAULT/*!*/;
|
|
insert into t1 values ("Alas")
|
|
/*!*/;
|
|
DELIMITER ;
|
|
# End of log file
|
|
ROLLBACK /* added by mysqlbinlog */;
|
|
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
|
|
|
--- --database --
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
|
DELIMITER /*!*/;
|
|
ROLLBACK/*!*/;
|
|
SET INSERT_ID=1/*!*/;
|
|
DELIMITER ;
|
|
# End of log file
|
|
ROLLBACK /* added by mysqlbinlog */;
|
|
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
|
|
|
--- --position --
|
|
Warning: The option '--position' is deprecated and will be removed in a future release. Please use --start-position instead.
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
|
DELIMITER /*!*/;
|
|
use test/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
|
|
SET @@session.sql_mode=0/*!*/;
|
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
|
/*!\C latin1 *//*!*/;
|
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
|
SET @@session.lc_time_names=0/*!*/;
|
|
SET @@session.collation_database=DEFAULT/*!*/;
|
|
insert into t1 values ("Alas")
|
|
/*!*/;
|
|
DELIMITER ;
|
|
# End of log file
|
|
ROLLBACK /* added by mysqlbinlog */;
|
|
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
|
|
|
--- reading stdin --
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
|
DELIMITER /*!*/;
|
|
ROLLBACK/*!*/;
|
|
use test/*!*/;
|
|
SET TIMESTAMP=1108844556/*!*/;
|
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
|
SET @@session.lc_time_names=0/*!*/;
|
|
SET @@session.collation_database=DEFAULT/*!*/;
|
|
BEGIN
|
|
/*!*/;
|
|
SET TIMESTAMP=1108844555/*!*/;
|
|
insert t1 values (1)
|
|
/*!*/;
|
|
DELIMITER ;
|
|
# End of log file
|
|
ROLLBACK /* added by mysqlbinlog */;
|
|
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
|
Warning: The option '--position' is deprecated and will be removed in a future release. Please use --start-position instead.
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
|
DELIMITER /*!*/;
|
|
use test/*!*/;
|
|
SET TIMESTAMP=1108844556/*!*/;
|
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
|
SET @@session.lc_time_names=0/*!*/;
|
|
SET @@session.collation_database=DEFAULT/*!*/;
|
|
BEGIN
|
|
/*!*/;
|
|
SET TIMESTAMP=1108844555/*!*/;
|
|
insert t1 values (1)
|
|
/*!*/;
|
|
DELIMITER ;
|
|
# End of log file
|
|
ROLLBACK /* added by mysqlbinlog */;
|
|
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
|
drop table t1,t2;
|
|
flush logs;
|
|
flush logs;
|
|
select * from t5 /* must be (1),(1) */;
|
|
a
|
|
1
|
|
1
|
|
drop table t5;
|
|
flush logs;
|
|
create table t5 (c1 int, c2 varchar(128) character set latin1 not null);
|
|
insert into t5 values (1, date_format('2001-01-01','%W'));
|
|
set lc_time_names=de_DE;
|
|
insert into t5 values (2, date_format('2001-01-01','%W'));
|
|
set lc_time_names=en_US;
|
|
insert into t5 values (3, date_format('2001-01-01','%W'));
|
|
select * from t5 order by c1;
|
|
c1 c2
|
|
1 Monday
|
|
2 Montag
|
|
3 Monday
|
|
flush logs;
|
|
drop table t5;
|
|
select * from t5 order by c1;
|
|
c1 c2
|
|
1 Monday
|
|
2 Montag
|
|
3 Monday
|
|
drop table t5;
|
|
drop procedure if exists p1;
|
|
flush logs;
|
|
create procedure p1()
|
|
begin
|
|
select 1;
|
|
end;
|
|
//
|
|
flush logs;
|
|
call p1();
|
|
1
|
|
1
|
|
drop procedure p1;
|
|
call p1();
|
|
ERROR 42000: PROCEDURE test.p1 does not exist
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
|
DELIMITER /*!*/;
|
|
use test/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
|
|
SET @@session.sql_mode=0/*!*/;
|
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
|
/*!\C latin1 *//*!*/;
|
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
|
SET @@session.lc_time_names=0/*!*/;
|
|
SET @@session.collation_database=DEFAULT/*!*/;
|
|
CREATE DEFINER=`root`@`localhost` PROCEDURE `p1`()
|
|
begin
|
|
select 1;
|
|
end
|
|
/*!*/;
|
|
DELIMITER ;
|
|
# End of log file
|
|
ROLLBACK /* added by mysqlbinlog */;
|
|
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
|
call p1();
|
|
1
|
|
1
|
|
drop procedure p1;
|
|
flush logs;
|
|
create table t1 (a varchar(64) character set utf8);
|
|
load data infile '../../std_data/loaddata6.dat' into table t1;
|
|
set character_set_database=koi8r;
|
|
load data infile '../../std_data/loaddata6.dat' into table t1;
|
|
set character_set_database=latin1;
|
|
load data infile '../../std_data/loaddata6.dat' into table t1;
|
|
load data infile '../../std_data/loaddata6.dat' into table t1;
|
|
set character_set_database=koi8r;
|
|
load data infile '../../std_data/loaddata6.dat' into table t1;
|
|
set character_set_database=latin1;
|
|
load data infile '../../std_data/loaddata6.dat' into table t1;
|
|
load data infile '../../std_data/loaddata6.dat' into table t1 character set koi8r;
|
|
select hex(a) from t1;
|
|
hex(a)
|
|
C3BF
|
|
D0AA
|
|
C3BF
|
|
C3BF
|
|
D0AA
|
|
C3BF
|
|
D0AA
|
|
drop table t1;
|
|
flush logs;
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
|
DELIMITER /*!*/;
|
|
use test/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
|
|
SET @@session.sql_mode=0/*!*/;
|
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
|
/*!\C latin1 *//*!*/;
|
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
|
SET @@session.lc_time_names=0/*!*/;
|
|
SET @@session.collation_database=DEFAULT/*!*/;
|
|
create table t1 (a varchar(64) character set utf8)
|
|
/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`)
|
|
/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
SET @@session.collation_database=7/*!*/;
|
|
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`)
|
|
/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
SET @@session.collation_database=DEFAULT/*!*/;
|
|
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`)
|
|
/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-#-#' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`)
|
|
/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
SET @@session.collation_database=7/*!*/;
|
|
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-a-0' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`)
|
|
/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
SET @@session.collation_database=DEFAULT/*!*/;
|
|
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-b-0' INTO TABLE `t1` FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`)
|
|
/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
LOAD DATA LOCAL INFILE 'MYSQLTEST_VARDIR/tmp/SQL_LOAD_MB-c-0' INTO TABLE `t1` CHARACTER SET koi8r FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\' LINES TERMINATED BY '\n' (`a`)
|
|
/*!*/;
|
|
SET TIMESTAMP=1000000000/*!*/;
|
|
drop table t1
|
|
/*!*/;
|
|
DELIMITER ;
|
|
# End of log file
|
|
ROLLBACK /* added by mysqlbinlog */;
|
|
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
|
CREATE TABLE t1 (c1 CHAR(10));
|
|
FLUSH LOGS;
|
|
INSERT INTO t1 VALUES ('0123456789');
|
|
FLUSH LOGS;
|
|
DROP TABLE t1;
|
|
We expect this value to be 1
|
|
The bug being tested was that 'Query' lines were not preceded by '#'
|
|
If the line is in the table, it had to have been preceded by a '#'
|
|
|
|
SELECT COUNT(*) AS `BUG#28293_expect_1` FROM patch WHERE a LIKE '%Query%';
|
|
BUG#28293_expect_1
|
|
1
|
|
DROP TABLE patch;
|
|
FLUSH LOGS;
|
|
CREATE TABLE t1(a INT);
|
|
INSERT INTO t1 VALUES(connection_id());
|
|
FLUSH LOGS;
|
|
DROP TABLE t1;
|
|
1
|
|
DROP TABLE t1;
|
|
shell> mysqlbinlog std_data/corrupt-relay-bin.000624 > var/tmp/bug31793.sql
|
|
FLUSH LOGS;
|
|
Bug#31611 Security risk with BINLOG statement
|
|
SET BINLOG_FORMAT=ROW;
|
|
CREATE DATABASE mysqltest1;
|
|
CREATE USER untrusted@localhost;
|
|
GRANT SELECT ON mysqltest1.* TO untrusted@localhost;
|
|
SHOW GRANTS FOR untrusted@localhost;
|
|
Grants for untrusted@localhost
|
|
GRANT USAGE ON *.* TO 'untrusted'@'localhost'
|
|
GRANT SELECT ON `mysqltest1`.* TO 'untrusted'@'localhost'
|
|
USE mysqltest1;
|
|
CREATE TABLE t1 (a INT, b CHAR(64));
|
|
flush logs;
|
|
INSERT INTO t1 VALUES (1,USER());
|
|
flush logs;
|
|
mysqlbinlog var/log/master-bin.000017 > var/tmp/bug31611.sql
|
|
mysql mysqltest1 -uuntrusted < var/tmp/bug31611.sql
|
|
INSERT INTO t1 VALUES (1,USER());
|
|
ERROR 42000: INSERT command denied to user 'untrusted'@'localhost' for table 't1'
|
|
SELECT * FROM t1;
|
|
a b
|
|
1 root@localhost
|
|
DROP DATABASE mysqltest1;
|
|
DROP USER untrusted@localhost;
|
|
Bug#32580 mysqlbinlog cannot read binlog event with user variables
|
|
USE test;
|
|
SET BINLOG_FORMAT = STATEMENT;
|
|
FLUSH LOGS;
|
|
CREATE TABLE t1 (a_real FLOAT, an_int INT, a_decimal DECIMAL(5,2), a_string CHAR(32));
|
|
SET @a_real = rand(20) * 1000;
|
|
SET @an_int = 1000;
|
|
SET @a_decimal = CAST(rand(19) * 999 AS DECIMAL(5,2));
|
|
SET @a_string = 'Just a test';
|
|
INSERT INTO t1 VALUES (@a_real, @an_int, @a_decimal, @a_string);
|
|
FLUSH LOGS;
|
|
SELECT * FROM t1;
|
|
a_real 158.883
|
|
an_int 1000
|
|
a_decimal 907.79
|
|
a_string Just a test
|
|
DROP TABLE t1;
|
|
>> mysqlbinlog var/log/master-bin.000019 > var/tmp/bug32580.sql
|
|
>> mysql test < var/tmp/bug32580.sql
|
|
SELECT * FROM t1;
|
|
a_real 158.883
|
|
an_int 1000
|
|
a_decimal 907.79
|
|
a_string Just a test
|
|
DROP TABLE t1;
|
|
SET @@global.server_id= 4294967295;
|
|
RESET MASTER;
|
|
FLUSH LOGS;
|
|
SELECT
|
|
(@a:=LOAD_FILE("MYSQLTEST_VARDIR/tmp/mysqlbinlog_bug37313.binlog"))
|
|
IS NOT NULL;
|
|
(@a:=LOAD_FILE("MYSQLTEST_VARDIR/tmp/mysqlbinlog_bug37313.binlog"))
|
|
IS NOT NULL
|
|
1
|
|
*** Unsigned server_id 4294967295 is found: 1 ***
|
|
SET @@global.server_id= 1;
|
|
RESET MASTER;
|
|
FLUSH LOGS;
|
|
RESET MASTER;
|
|
FLUSH LOGS;
|
|
#
|
|
# Test if the 'BEGIN', 'ROLLBACK' and 'COMMIT' are output if the database specified exists
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
|
DELIMITER /*!*/;
|
|
ROLLBACK/*!*/;
|
|
use test/*!*/;
|
|
SET TIMESTAMP=1253783037/*!*/;
|
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
|
|
SET @@session.sql_mode=0/*!*/;
|
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
|
/*!\C latin1 *//*!*/;
|
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
|
SET @@session.lc_time_names=0/*!*/;
|
|
SET @@session.collation_database=DEFAULT/*!*/;
|
|
create table t1(a int) engine= innodb
|
|
/*!*/;
|
|
SET TIMESTAMP=1253783037/*!*/;
|
|
BEGIN
|
|
/*!*/;
|
|
SET TIMESTAMP=1253783037/*!*/;
|
|
insert into t1 (a) values (1)
|
|
/*!*/;
|
|
COMMIT/*!*/;
|
|
SET TIMESTAMP=1253783037/*!*/;
|
|
create table t3(a int) engine= innodb
|
|
/*!*/;
|
|
SET TIMESTAMP=1253783037/*!*/;
|
|
BEGIN
|
|
/*!*/;
|
|
SET TIMESTAMP=1253783037/*!*/;
|
|
insert into t3 (a) values (2)
|
|
/*!*/;
|
|
SET TIMESTAMP=1253783037/*!*/;
|
|
ROLLBACK
|
|
/*!*/;
|
|
SET TIMESTAMP=1253783037/*!*/;
|
|
create table t5(a int) engine= NDB
|
|
/*!*/;
|
|
SET TIMESTAMP=1253783037/*!*/;
|
|
BEGIN
|
|
/*!*/;
|
|
SET TIMESTAMP=1253783037/*!*/;
|
|
insert into t5 (a) values (3)
|
|
/*!*/;
|
|
SET TIMESTAMP=1253783037/*!*/;
|
|
COMMIT
|
|
/*!*/;
|
|
DELIMITER ;
|
|
# End of log file
|
|
ROLLBACK /* added by mysqlbinlog */;
|
|
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
|
#
|
|
# Test if the 'BEGIN', 'ROLLBACK' and 'COMMIT' are output if the database specified does not exist
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
|
DELIMITER /*!*/;
|
|
ROLLBACK/*!*/;
|
|
SET TIMESTAMP=1253783037/*!*/;
|
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
|
|
SET @@session.sql_mode=0/*!*/;
|
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
|
/*!\C latin1 *//*!*/;
|
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
|
SET @@session.lc_time_names=0/*!*/;
|
|
SET @@session.collation_database=DEFAULT/*!*/;
|
|
BEGIN
|
|
/*!*/;
|
|
COMMIT/*!*/;
|
|
SET TIMESTAMP=1253783037/*!*/;
|
|
BEGIN
|
|
/*!*/;
|
|
SET TIMESTAMP=1253783037/*!*/;
|
|
ROLLBACK
|
|
/*!*/;
|
|
SET TIMESTAMP=1253783037/*!*/;
|
|
BEGIN
|
|
/*!*/;
|
|
SET TIMESTAMP=1253783037/*!*/;
|
|
COMMIT
|
|
/*!*/;
|
|
DELIMITER ;
|
|
# End of log file
|
|
ROLLBACK /* added by mysqlbinlog */;
|
|
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
|
#
|
|
# Test if the 'SAVEPOINT', 'ROLLBACK TO' are output if the database specified exists
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
|
DELIMITER /*!*/;
|
|
SET TIMESTAMP=1266652094/*!*/;
|
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
|
|
SET @@session.sql_mode=0/*!*/;
|
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
|
/*!\C latin1 *//*!*/;
|
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
|
SET @@session.lc_time_names=0/*!*/;
|
|
SET @@session.collation_database=DEFAULT/*!*/;
|
|
BEGIN
|
|
/*!*/;
|
|
use test/*!*/;
|
|
SET TIMESTAMP=1266652094/*!*/;
|
|
SavePoint mixed_cases
|
|
/*!*/;
|
|
use db1/*!*/;
|
|
SET TIMESTAMP=1266652094/*!*/;
|
|
INSERT INTO db1.t2 VALUES("in savepoint mixed_cases")
|
|
/*!*/;
|
|
SET TIMESTAMP=1266652094/*!*/;
|
|
INSERT INTO db1.t1 VALUES(40)
|
|
/*!*/;
|
|
use test/*!*/;
|
|
SET TIMESTAMP=1266652094/*!*/;
|
|
ROLLBACK TO mixed_cases
|
|
/*!*/;
|
|
use db1/*!*/;
|
|
SET TIMESTAMP=1266652094/*!*/;
|
|
INSERT INTO db1.t2 VALUES("after rollback to")
|
|
/*!*/;
|
|
SET TIMESTAMP=1266652094/*!*/;
|
|
INSERT INTO db1.t1 VALUES(50)
|
|
/*!*/;
|
|
COMMIT/*!*/;
|
|
DELIMITER ;
|
|
# End of log file
|
|
ROLLBACK /* added by mysqlbinlog */;
|
|
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
|
#
|
|
# Test if the 'SAVEPOINT', 'ROLLBACK TO' are output if the database specified does not exist
|
|
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
|
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
|
DELIMITER /*!*/;
|
|
SET TIMESTAMP=1266652094/*!*/;
|
|
SET @@session.pseudo_thread_id=999999999/*!*/;
|
|
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
|
|
SET @@session.sql_mode=0/*!*/;
|
|
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
|
|
/*!\C latin1 *//*!*/;
|
|
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
|
|
SET @@session.lc_time_names=0/*!*/;
|
|
SET @@session.collation_database=DEFAULT/*!*/;
|
|
BEGIN
|
|
/*!*/;
|
|
use test/*!*/;
|
|
SET TIMESTAMP=1266652094/*!*/;
|
|
SavePoint mixed_cases
|
|
/*!*/;
|
|
SET TIMESTAMP=1266652094/*!*/;
|
|
ROLLBACK TO mixed_cases
|
|
/*!*/;
|
|
COMMIT/*!*/;
|
|
DELIMITER ;
|
|
# End of log file
|
|
ROLLBACK /* added by mysqlbinlog */;
|
|
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
|
End of 5.0 tests
|
|
End of 5.1 tests
|
|
RESET MASTER;
|
|
CREATE DATABASE test1;
|
|
USE test1;
|
|
CREATE TABLE t1(id int);
|
|
DROP DATABASE test1;
|
|
CREATE DATABASE test1;
|
|
USE test1;
|
|
CREATE TABLE t1(id int);
|
|
DROP TABLE t1;
|
|
DROP DATABASE test1;
|
|
FLUSH LOGS;
|
|
show binlog events in 'master-bin.000002' from <binlog_start>;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
master-bin.000002 # Query # # CREATE DATABASE test1
|
|
master-bin.000002 # Query # # use `test1`; CREATE TABLE t1(id int)
|
|
master-bin.000002 # Query # # DROP DATABASE test1
|
|
master-bin.000002 # Query # # CREATE DATABASE test1
|
|
master-bin.000002 # Query # # use `test1`; CREATE TABLE t1(id int)
|
|
master-bin.000002 # Query # # use `test1`; DROP TABLE t1
|
|
master-bin.000002 # Query # # DROP DATABASE test1
|
|
RESET MASTER;
|
|
USE test;
|
|
CREATE TABLE t1 (a INT);
|
|
SET GLOBAL SERVER_ID = 2;
|
|
DROP TABLE t1;
|
|
FLUSH LOGS;
|
|
SHOW TABLES IN test;
|
|
Tables_in_test
|
|
t1
|
|
SHOW TABLES IN test;
|
|
Tables_in_test
|
|
SET GLOBAL SERVER_ID = 1;
|