Manual resolving for the following files
Text conflict in mysql-test/collections/default.experimental Text conflict in mysql-test/r/show_check.result Text conflict in mysql-test/r/sp-code.result Text conflict in mysql-test/suite/binlog/r/binlog_tmp_table.result Text conflict in mysql-test/suite/rpl/t/disabled.def Text conflict in mysql-test/t/show_check.test Text conflict in mysys/my_delete.c Text conflict in sql/item.h Text conflict in sql/item_cmpfunc.h Text conflict in sql/log.cc Text conflict in sql/mysqld.cc Text conflict in sql/repl_failsafe.cc Text conflict in sql/slave.cc Text conflict in sql/sql_parse.cc Text conflict in sql/sql_table.cc Text conflict in sql/sql_yacc.yy Text conflict in storage/myisam/ha_myisam.cc Corrected results for stm_auto_increment_bug33029.reject 2009-12-01 20:01:49.000000000 +0300 <andrei> @@ -42,9 +42,6 @@ <andrei> RETURN i; <andrei> END// <andrei> CALL p1(); <andrei> -Warnings: <andrei> -Note 1592 Statement may not be safe to log in statement format. <andrei> -Note 1592 Statement may not be safe to log in statement format. There should be indeed no Note present because there is in fact autoincrement top-level query in sp() that triggers inserting in yet another auto-inc table. (todo: alert DaoGang to improve the test).
This commit is contained in:
commit
e8e85ed2a6
@ -442,6 +442,7 @@ Exit_status Load_log_processor::process_first_event(const char *bname,
|
||||
{
|
||||
error("Could not construct local filename %s%s.",
|
||||
target_dir_name,bname);
|
||||
my_free(fname, MYF(0));
|
||||
delete ce;
|
||||
DBUG_RETURN(ERROR_STOP);
|
||||
}
|
||||
@ -449,9 +450,15 @@ Exit_status Load_log_processor::process_first_event(const char *bname,
|
||||
rec.fname= fname;
|
||||
rec.event= ce;
|
||||
|
||||
/*
|
||||
fname is freed in process_event()
|
||||
after Execute_load_query_log_event or Execute_load_log_event
|
||||
will have been processed, otherwise in Load_log_processor::destroy()
|
||||
*/
|
||||
if (set_dynamic(&file_names, (uchar*)&rec, file_id))
|
||||
{
|
||||
error("Out of memory.");
|
||||
my_free(fname, MYF(0));
|
||||
delete ce;
|
||||
DBUG_RETURN(ERROR_STOP);
|
||||
}
|
||||
@ -831,7 +838,17 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
|
||||
print_event_info->common_header_len=
|
||||
glob_description_event->common_header_len;
|
||||
ev->print(result_file, print_event_info);
|
||||
ev->temp_buf= 0; // as the event ref is zeroed
|
||||
if (!remote_opt)
|
||||
{
|
||||
ev->free_temp_buf(); // free memory allocated in dump_local_log_entries
|
||||
}
|
||||
else
|
||||
{
|
||||
/*
|
||||
disassociate but not free dump_remote_log_entries time memory
|
||||
*/
|
||||
ev->temp_buf= 0;
|
||||
}
|
||||
/*
|
||||
We don't want this event to be deleted now, so let's hide it (I
|
||||
(Guilhem) should later see if this triggers a non-serious Valgrind
|
||||
|
@ -81,4 +81,3 @@ parts.partition_syntax_ndb
|
||||
parts.partition_alter1_1_2_ndb
|
||||
parts.partition_basic_ndb
|
||||
parts.partition_mgm_lc0_ndb
|
||||
|
||||
|
@ -179,7 +179,9 @@ begin
|
||||
end|
|
||||
delimiter ;|
|
||||
|
||||
--disable_warnings
|
||||
insert into t1 (last_id) values (0);
|
||||
--enable_warnings
|
||||
|
||||
drop trigger t1_bi;
|
||||
|
||||
@ -512,7 +514,9 @@ set sql_log_bin=0;
|
||||
insert into t2 (id) values(5),(6),(7);
|
||||
delete from t2 where id>=5;
|
||||
set sql_log_bin=1;
|
||||
--disable_warnings
|
||||
insert into t1 select insid();
|
||||
--enable_warnings
|
||||
select * from t1 order by id;
|
||||
select * from t2 order by id;
|
||||
|
||||
|
@ -22,6 +22,7 @@ source include/show_slave_status2.inc;
|
||||
reset slave;
|
||||
source include/show_slave_status2.inc;
|
||||
|
||||
change master to master_user='root';
|
||||
start slave;
|
||||
sync_with_master;
|
||||
source include/show_slave_status2.inc;
|
||||
|
@ -36,7 +36,7 @@ SELECT LENGTH(data) FROM test.t1 WHERE c1 = 3;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sleep 5;
|
||||
--source include/wait_for_ndb_to_binlog.inc
|
||||
--echo
|
||||
--echo **** Data Insert Validation Slave Section test.t1 ****
|
||||
--echo
|
||||
@ -56,12 +56,10 @@ UPDATE t1 set data=repeat('c',17*1024) where c1 = 2;
|
||||
--echo
|
||||
SELECT LENGTH(data) FROM test.t1 WHERE c1 = 1;
|
||||
SELECT LENGTH(data) FROM test.t1 WHERE c1 = 2;
|
||||
# Sleep is needed for NDB to allow time for
|
||||
# Injector thread to populate the bin log.
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sleep 5;
|
||||
--source include/wait_for_ndb_to_binlog.inc
|
||||
--echo
|
||||
--echo **** Data Update Validation Slave Section test.t1 ****
|
||||
--echo
|
||||
@ -132,7 +130,7 @@ FROM test.t2 WHERE c1=2;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sleep 5;
|
||||
--source include/wait_for_ndb_to_binlog.inc
|
||||
--echo
|
||||
--echo **** Data Insert Validation Slave Section test.t2 ****
|
||||
--echo
|
||||
@ -155,12 +153,10 @@ SELECT c1, LENGTH(c2), SUBSTR(c2,1+2*900,2), LENGTH(c4), SUBSTR(c4,1+3*900,3)
|
||||
FROM test.t2 WHERE c1=1;
|
||||
SELECT c1, LENGTH(c2), SUBSTR(c2,1+2*900,2), LENGTH(c4), SUBSTR(c4,1+3*900,3)
|
||||
FROM test.t2 WHERE c1=2;
|
||||
# Sleep is needed for NDB to allow time for
|
||||
# Injector thread to populate the bin log.
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sleep 5;
|
||||
--source include/wait_for_ndb_to_binlog.inc
|
||||
--echo
|
||||
--echo **** Data Update Validation Slave Section test.t2 ****
|
||||
--echo
|
||||
|
@ -3,10 +3,7 @@
|
||||
# Original Date: Aug/15/2005 #
|
||||
# Update: 08/29/2005 Comment out sleep. Only needed for debugging #
|
||||
#############################################################################
|
||||
# Note: Many lines are commented out in this test case. These were used for #
|
||||
# creating the test case and debugging and are being left for #
|
||||
# debugging, but they can not be used for the regular testing as the #
|
||||
# Time changes and is not deteministic, so instead we dump both the #
|
||||
# Note: Time changes and is not deteministic, so instead we dump both the #
|
||||
# master and slave and diff the dumps. If the dumps differ then the #
|
||||
# test case will fail. To run during diff failuers, comment out the #
|
||||
# diff. #
|
||||
@ -26,7 +23,6 @@ DROP TABLE IF EXISTS test.t1;
|
||||
|
||||
--enable_warnings
|
||||
|
||||
|
||||
eval CREATE TABLE test.t1 (a INT NOT NULL AUTO_INCREMENT, c CHAR(16),PRIMARY KEY(a))ENGINE=$engine_type;
|
||||
|
||||
delimiter |;
|
||||
@ -44,33 +40,24 @@ END|
|
||||
delimiter ;|
|
||||
|
||||
INSERT INTO test.t1 VALUES (null,test.f1()),(null,test.f1()),(null,test.f1());
|
||||
sleep 6;
|
||||
INSERT INTO test.t1 VALUES (null,test.f1()),(null,test.f1()),(null,test.f1());
|
||||
sleep 6;
|
||||
|
||||
#Select in this test are used for debugging
|
||||
#select * from test.t1;
|
||||
#connection slave;
|
||||
#select * from test.t1;
|
||||
|
||||
connection master;
|
||||
SET AUTOCOMMIT=0;
|
||||
START TRANSACTION;
|
||||
INSERT INTO test.t1 VALUES (null,test.f1());
|
||||
ROLLBACK;
|
||||
SET AUTOCOMMIT=1;
|
||||
#select * from test.t1;
|
||||
#sleep 6;
|
||||
|
||||
#connection slave;
|
||||
#select * from test.t1;
|
||||
# Sync master and slave for all engines except NDB
|
||||
if (`SELECT UPPER(LEFT('$engine_type', 3)) != 'NDB'`) {
|
||||
sync_slave_with_master;
|
||||
connection master;
|
||||
}
|
||||
# Sync master and slave for NDB engine
|
||||
let $wait_time= 6;
|
||||
--source include/wait_for_ndb_to_binlog.inc
|
||||
|
||||
#connection master;
|
||||
|
||||
#used for debugging
|
||||
#show binlog events;
|
||||
|
||||
# time to dump the databases and so we can see if they match
|
||||
# Time to dump the databases and so we can see if they match
|
||||
|
||||
--exec $MYSQL_DUMP --compact --order-by-primary --skip-extended-insert --no-create-info test > $MYSQLTEST_VARDIR/tmp/func003_master.sql
|
||||
--exec $MYSQL_DUMP_SLAVE --compact --order-by-primary --skip-extended-insert --no-create-info test > $MYSQLTEST_VARDIR/tmp/func003_slave.sql
|
||||
@ -87,5 +74,8 @@ DROP TABLE test.t1;
|
||||
|
||||
diff_files $MYSQLTEST_VARDIR/tmp/func003_master.sql $MYSQLTEST_VARDIR/tmp/func003_slave.sql;
|
||||
|
||||
# Clean up
|
||||
remove_file $MYSQLTEST_VARDIR/tmp/func003_master.sql;
|
||||
remove_file $MYSQLTEST_VARDIR/tmp/func003_slave.sql;
|
||||
|
||||
# End of 5.0 test case
|
||||
|
@ -41,10 +41,7 @@ CALL test.p2();
|
||||
SELECT release_lock("test");
|
||||
SELECT * FROM test.t1;
|
||||
#show binlog events;
|
||||
# Added sleep for use with NDB to ensure that
|
||||
# the injector thread will populate log before
|
||||
# we switch to the slave.
|
||||
sleep 5;
|
||||
--source include/wait_for_ndb_to_binlog.inc
|
||||
sync_slave_with_master;
|
||||
connection slave;
|
||||
SELECT * FROM test.t1;
|
||||
|
@ -68,8 +68,8 @@ enable_query_log;
|
||||
connection slave;
|
||||
lock tables t1 read;
|
||||
start slave;
|
||||
#hope this is long enough for I/O thread to fetch over 16K relay log data
|
||||
sleep 3;
|
||||
connection master;
|
||||
--source include/sync_slave_io_with_master.inc
|
||||
unlock tables;
|
||||
|
||||
#test handling of aborted connection in the middle of update
|
||||
|
@ -35,9 +35,8 @@ INSERT INTO test.t2 VALUES (1, 0.0);
|
||||
#show binlog events;
|
||||
select * from test.t1;
|
||||
select * from test.t2;
|
||||
# Have to sleep for a few seconds to allow
|
||||
# NDB injector thread to populate binlog
|
||||
sleep 10;
|
||||
let $wait_time= 10;
|
||||
--source include/wait_for_ndb_to_binlog.inc
|
||||
sync_slave_with_master;
|
||||
connection slave;
|
||||
select * from test.t1;
|
||||
|
@ -6,12 +6,29 @@
|
||||
# Since we expect STOP SLAVE to produce a warning as the slave is
|
||||
# stopped (the server was started with skip-slave-start), we disable
|
||||
# warnings when doing STOP SLAVE.
|
||||
#
|
||||
# $no_change_master If true, no change master will be done nor any reset slave.
|
||||
# This is to avoid touching the relay-log.info file allowing
|
||||
# the test to create one itself.
|
||||
# $skip_slave_start If true, the slave will not be started
|
||||
|
||||
connection slave;
|
||||
|
||||
#we expect STOP SLAVE to produce a warning as the slave is stopped
|
||||
#(the server was started with skip-slave-start)
|
||||
--disable_warnings
|
||||
stop slave;
|
||||
--disable_query_log
|
||||
if (!$no_change_master) {
|
||||
eval CHANGE MASTER TO MASTER_USER='root',
|
||||
MASTER_CONNECT_RETRY=1,
|
||||
MASTER_HOST='127.0.0.1',
|
||||
MASTER_PORT=$MASTER_MYPORT;
|
||||
}
|
||||
--enable_query_log
|
||||
source include/wait_for_slave_to_stop.inc;
|
||||
--enable_warnings
|
||||
|
||||
connection master;
|
||||
--disable_warnings
|
||||
--disable_query_log
|
||||
@ -20,17 +37,39 @@ use test;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
--enable_warnings
|
||||
reset master;
|
||||
|
||||
--disable_query_log
|
||||
reset slave;
|
||||
if (!$no_change_master) {
|
||||
reset slave;
|
||||
}
|
||||
--enable_query_log
|
||||
connection slave;
|
||||
reset slave;
|
||||
|
||||
--disable_warnings
|
||||
# the first RESET SLAVE may produce a warning about non-existent
|
||||
# 'ndb_apply_status' table, because this table is created
|
||||
# asynchronously at the server startup and may not exist yet
|
||||
# if RESET SLAVE comes too soon after the server startup
|
||||
if (!$no_change_master) {
|
||||
reset slave;
|
||||
}
|
||||
--enable_warnings
|
||||
|
||||
# Clean up old test tables
|
||||
--disable_warnings
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
--enable_warnings
|
||||
|
||||
--disable_query_log
|
||||
#eval CHANGE MASTER TO MASTER_USER='root',
|
||||
# MASTER_CONNECT_RETRY=1,
|
||||
# MASTER_HOST='127.0.0.1',
|
||||
# MASTER_PORT=$MASTER_MYPORT;
|
||||
reset master;
|
||||
--enable_query_log
|
||||
start slave;
|
||||
source include/wait_for_slave_to_start.inc;
|
||||
|
||||
if (!$skip_slave_start) {
|
||||
start slave;
|
||||
source include/wait_for_slave_to_start.inc;
|
||||
}
|
||||
|
||||
|
@ -1,4 +1,6 @@
|
||||
# Replication tests need binlog
|
||||
#
|
||||
# $skip_slave_start If true, the slave will not be started
|
||||
source include/have_log_bin.inc;
|
||||
|
||||
connect (master,127.0.0.1,root,,test,$MASTER_MYPORT,);
|
||||
@ -8,7 +10,10 @@ connect (slave1,127.0.0.1,root,,test,$SLAVE_MYPORT,);
|
||||
|
||||
-- source include/master-slave-reset.inc
|
||||
|
||||
connection master;
|
||||
sync_slave_with_master;
|
||||
if (!$skip_slave_start) {
|
||||
connection master;
|
||||
sync_slave_with_master;
|
||||
}
|
||||
|
||||
# Set the default connection to 'master'
|
||||
connection master;
|
||||
|
@ -1,4 +1,4 @@
|
||||
--require r/not_ndb_default.require
|
||||
disable_query_log;
|
||||
select convert(@@table_type using latin1) NOT IN ("ndbcluster","NDBCLUSTER") as "TRUE";
|
||||
select convert(@@storage_engine using latin1) NOT IN ("ndbcluster","NDBCLUSTER") as "TRUE";
|
||||
enable_query_log;
|
||||
|
41
mysql-test/include/wait_for_ndb_to_binlog.inc
Normal file
41
mysql-test/include/wait_for_ndb_to_binlog.inc
Normal file
@ -0,0 +1,41 @@
|
||||
# ==== Purpose ====
|
||||
#
|
||||
# Several test primitives from mysql-test/extra/rpl_tests
|
||||
# shared for test cases for MyISAM, InnoDB, NDB and other
|
||||
# engines. But for NDB all events will be added by NDB
|
||||
# injector and now there are no way to detect the state of
|
||||
# NDB injector therefore this primitive waits 5 sec
|
||||
# if engine type is NDB.
|
||||
# In future that should be fixed by waiting of proper
|
||||
# state of NDB injector.
|
||||
#
|
||||
# ==== Usage ====
|
||||
#
|
||||
# let $engine_type= NDB;
|
||||
# --source include/wait_for_ndb_to_binlog.inc
|
||||
#
|
||||
# ==== Parameters =====
|
||||
#
|
||||
# $engine_type
|
||||
# Type of engine. If type is NDB then it waits $wait_time sec
|
||||
#
|
||||
# $wait_time
|
||||
# Test will wait $wait_time seconds
|
||||
|
||||
let $_wait_time= 5;
|
||||
|
||||
if (!$wait_time) {
|
||||
let $_wait_time= $wait_time;
|
||||
}
|
||||
|
||||
if (`SELECT UPPER(LEFT('$engine_type',3)) = 'NDB'`) {
|
||||
while (!$_wait_time) {
|
||||
let $_wait_time_internal= 10;
|
||||
while (!$_wait_time_internal) {
|
||||
sleep 0.1;
|
||||
dec $_wait_time_internal;
|
||||
}
|
||||
dec $_wait_time;
|
||||
}
|
||||
}
|
||||
|
@ -2,13 +2,16 @@
|
||||
#
|
||||
# SUMMARY
|
||||
#
|
||||
# Waits until the show statement ($show_statement) has at least within one of
|
||||
# the rows of the result set for the field ($field) a value which fulfils
|
||||
# Waits until the show statement ($show_statement) has one or all of the
|
||||
# rows of the result set for the field ($field) a value which fulfils
|
||||
# a condition ($condition), or the operation times out.
|
||||
#
|
||||
#
|
||||
# USAGE
|
||||
#
|
||||
# All rows of the result must fulfil the condition if $all_rows_fulfil is 1
|
||||
# else at least one of the result must fulfil the condition.
|
||||
# let $wait_for_all= 1;
|
||||
# let $show_statement= SHOW PROCESSLIST;
|
||||
# let $field= State;
|
||||
# let $condition= = 'Updating';
|
||||
@ -46,27 +49,56 @@ inc $max_run_time;
|
||||
|
||||
let $found= 0;
|
||||
let $max_end_time= `SELECT UNIX_TIMESTAMP() + $max_run_time`;
|
||||
while (`SELECT UNIX_TIMESTAMP() <= $max_end_time AND $found = 0`)
|
||||
|
||||
if (`SELECT '$wait_for_all' != '1'`)
|
||||
{
|
||||
# Sleep a bit to avoid too heavy load.
|
||||
real_sleep 0.2;
|
||||
let $rowno= 1;
|
||||
let $process_result= 1;
|
||||
while (`SELECT $process_result = 1 AND $found = 0`)
|
||||
{
|
||||
let $field_value= query_get_value($show_statement, $field, $rowno);
|
||||
if (`SELECT '$field_value' $condition`)
|
||||
{
|
||||
let $found= 1;
|
||||
}
|
||||
if (`SELECT '$field_value' = 'No such row'`)
|
||||
{
|
||||
# We are behind the last row of the result set.
|
||||
let $process_result= 0;
|
||||
}
|
||||
inc $rowno;
|
||||
}
|
||||
while (`SELECT UNIX_TIMESTAMP() <= $max_end_time AND $found = 0`)
|
||||
{
|
||||
# Sleep a bit to avoid too heavy load.
|
||||
real_sleep 0.2;
|
||||
let $rowno= 1;
|
||||
let $process_result= 1;
|
||||
while (`SELECT $process_result = 1 AND $found = 0`)
|
||||
{
|
||||
let $field_value= query_get_value($show_statement, $field, $rowno);
|
||||
if (`SELECT '$field_value' $condition`)
|
||||
{
|
||||
let $found= 1;
|
||||
}
|
||||
if (`SELECT '$field_value' = 'No such row'`)
|
||||
{
|
||||
# We are behind the last row of the result set.
|
||||
let $process_result= 0;
|
||||
}
|
||||
inc $rowno;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (`SELECT '$wait_for_all' = '1'`)
|
||||
{
|
||||
while (`SELECT UNIX_TIMESTAMP() <= $max_end_time AND $found = 0`)
|
||||
{
|
||||
# Sleep a bit to avoid too heavy load.
|
||||
real_sleep 0.2;
|
||||
let $rowno= 1;
|
||||
let $process_result= 1;
|
||||
while (`SELECT $process_result = 1 AND $found = 0`)
|
||||
{
|
||||
let $field_value= query_get_value($show_statement, $field, $rowno);
|
||||
if (`SELECT '$field_value' = 'No such row'`)
|
||||
{
|
||||
let $found= 1;
|
||||
}
|
||||
if (`SELECT $found = 0 AND NOT '$field_value' $condition`)
|
||||
{
|
||||
let process_result= 0;
|
||||
}
|
||||
inc $rowno;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!$found)
|
||||
{
|
||||
echo # Timeout in include/wait_show_condition.inc for $wait_condition;
|
||||
|
@ -4024,15 +4024,26 @@ sub mysqld_arguments ($$$$) {
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($mysql_version_id < 50200)
|
||||
{
|
||||
mtr_add_arg($args, "%s--master-user=root", $prefix);
|
||||
mtr_add_arg($args, "%s--master-connect-retry=1", $prefix);
|
||||
mtr_add_arg($args, "%s--master-host=127.0.0.1", $prefix);
|
||||
mtr_add_arg($args, "%s--master-password=", $prefix);
|
||||
mtr_add_arg($args, "%s--master-port=%d", $prefix,
|
||||
$master->[0]->{'port'}); # First master
|
||||
}
|
||||
# NOTE: the backport (see BUG#48048) originally removed the
|
||||
# commented out lines below. However, given that they are
|
||||
# protected with a version check (< 50200) now, it should be
|
||||
# safe to keep them. The problem is that the backported patch
|
||||
# was into a 5.1 GA codebase - mysql-5.1-rep+2 tree - so
|
||||
# version is 501XX, consequently check becomes worthless. It
|
||||
# should be safe to uncomment them when merging up to 5.5.
|
||||
#
|
||||
# RQG semisync test runs on the 5.1 GA tree and needs MTR v1.
|
||||
# This was causing the test to fail (slave would not start
|
||||
# due to unrecognized option(s)).
|
||||
# if ($mysql_version_id < 50200)
|
||||
# {
|
||||
# mtr_add_arg($args, "%s--master-user=root", $prefix);
|
||||
# mtr_add_arg($args, "%s--master-connect-retry=1", $prefix);
|
||||
# mtr_add_arg($args, "%s--master-host=127.0.0.1", $prefix);
|
||||
# mtr_add_arg($args, "%s--master-password=", $prefix);
|
||||
# mtr_add_arg($args, "%s--master-port=%d", $prefix,
|
||||
# $master->[0]->{'port'}); # First master
|
||||
# }
|
||||
my $slave_server_id= 2 + $idx;
|
||||
my $slave_rpl_rank= $slave_server_id;
|
||||
mtr_add_arg($args, "%s--server-id=%d", $prefix, $slave_server_id);
|
||||
|
@ -68,7 +68,7 @@ use My::File::Path; # Patched version of File::Path
|
||||
use File::Basename;
|
||||
use File::Copy;
|
||||
use File::Find;
|
||||
use File::Temp qw / tempdir /;
|
||||
use File::Temp qw /tempdir/;
|
||||
use File::Spec::Functions qw / splitdir /;
|
||||
use My::Platform;
|
||||
use My::SafeProcess;
|
||||
|
26
mysql-test/r/deprecated_features.result
Normal file
26
mysql-test/r/deprecated_features.result
Normal file
@ -0,0 +1,26 @@
|
||||
set global log_bin_trust_routine_creators=1;
|
||||
ERROR HY000: Unknown system variable 'log_bin_trust_routine_creators'
|
||||
set table_type='MyISAM';
|
||||
ERROR HY000: Unknown system variable 'table_type'
|
||||
select @@table_type='MyISAM';
|
||||
ERROR HY000: Unknown system variable 'table_type'
|
||||
backup table t1 to 'data.txt';
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'backup table t1 to 'data.txt'' at line 1
|
||||
restore table t1 from 'data.txt';
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'restore table t1 from 'data.txt'' at line 1
|
||||
show plugin;
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'plugin' at line 1
|
||||
load table t1 from master;
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'table t1 from master' at line 1
|
||||
load data from master;
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from master' at line 1
|
||||
SHOW INNODB STATUS;
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INNODB STATUS' at line 1
|
||||
create table t1 (t6 timestamp(6));
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(6))' at line 1
|
||||
create table t1 (t6 timestamp) type=myisam;
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'type=myisam' at line 1
|
||||
show table types;
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'types' at line 1
|
||||
show mutex status;
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'mutex status' at line 1
|
@ -4,11 +4,9 @@ show variables like 'log_bin%';
|
||||
Variable_name Value
|
||||
log_bin OFF
|
||||
log_bin_trust_function_creators ON
|
||||
log_bin_trust_routine_creators ON
|
||||
flush logs;
|
||||
show variables like 'log_bin%';
|
||||
Variable_name Value
|
||||
log_bin OFF
|
||||
log_bin_trust_function_creators ON
|
||||
log_bin_trust_routine_creators ON
|
||||
set global expire_logs_days = 0;
|
||||
|
@ -412,8 +412,6 @@ prepare stmt1 from ' optimize table t1 ' ;
|
||||
prepare stmt1 from ' analyze table t1 ' ;
|
||||
prepare stmt1 from ' checksum table t1 ' ;
|
||||
prepare stmt1 from ' repair table t1 ' ;
|
||||
prepare stmt1 from ' restore table t1 from ''<MYSQLTEST_VARDIR>/tmp/data.txt'' ' ;
|
||||
ERROR HY000: This command is not supported in the prepared statement protocol yet
|
||||
prepare stmt1 from ' handler t1 open ';
|
||||
ERROR HY000: This command is not supported in the prepared statement protocol yet
|
||||
prepare stmt3 from ' commit ' ;
|
||||
|
@ -808,7 +808,6 @@ show plugins;
|
||||
show columns in t1;
|
||||
show slave hosts;
|
||||
show keys in t1;
|
||||
show table types;
|
||||
show storage engines;
|
||||
show authors;
|
||||
show contributors;
|
||||
@ -1291,11 +1290,6 @@ delete from mysql.db where user='mysqltest_4';
|
||||
delete from mysql.tables_priv where user='mysqltest_4';
|
||||
flush privileges;
|
||||
drop database mysqltest;
|
||||
show full plugin;
|
||||
show warnings;
|
||||
Level Code Message
|
||||
Warning 1287 The syntax 'SHOW PLUGIN' is deprecated and will be removed in MySQL 6.0. Please use 'SHOW PLUGINS' instead
|
||||
show plugin;
|
||||
show plugins;
|
||||
create database `mysqlttest\1`;
|
||||
create table `mysqlttest\1`.`a\b` (a int);
|
||||
@ -1447,7 +1441,6 @@ DROP PROCEDURE p1;
|
||||
DROP FUNCTION f1;
|
||||
DROP TABLE t1;
|
||||
DROP EVENT ev1;
|
||||
SHOW TABLE TYPES;
|
||||
CREATE USER test_u@localhost;
|
||||
GRANT PROCESS ON *.* TO test_u@localhost;
|
||||
SHOW ENGINE MYISAM MUTEX;
|
||||
|
@ -20,16 +20,16 @@ return 0;
|
||||
end $$
|
||||
show procedure code signal_proc;
|
||||
Pos Instruction
|
||||
0 stmt 135 "SIGNAL foo"
|
||||
1 stmt 135 "SIGNAL foo SET MESSAGE_TEXT = "This i..."
|
||||
2 stmt 136 "RESIGNAL foo"
|
||||
3 stmt 136 "RESIGNAL foo SET MESSAGE_TEXT = "This..."
|
||||
0 stmt 131 "SIGNAL foo"
|
||||
1 stmt 131 "SIGNAL foo SET MESSAGE_TEXT = "This i..."
|
||||
2 stmt 132 "RESIGNAL foo"
|
||||
3 stmt 132 "RESIGNAL foo SET MESSAGE_TEXT = "This..."
|
||||
drop procedure signal_proc;
|
||||
show function code signal_func;
|
||||
Pos Instruction
|
||||
0 stmt 135 "SIGNAL foo"
|
||||
1 stmt 135 "SIGNAL foo SET MESSAGE_TEXT = "This i..."
|
||||
2 stmt 136 "RESIGNAL foo"
|
||||
3 stmt 136 "RESIGNAL foo SET MESSAGE_TEXT = "This..."
|
||||
0 stmt 131 "SIGNAL foo"
|
||||
1 stmt 131 "SIGNAL foo SET MESSAGE_TEXT = "This i..."
|
||||
2 stmt 132 "RESIGNAL foo"
|
||||
3 stmt 132 "RESIGNAL foo SET MESSAGE_TEXT = "This..."
|
||||
4 freturn 3 0
|
||||
drop function signal_func;
|
||||
|
@ -155,11 +155,11 @@ Pos Instruction
|
||||
0 stmt 9 "drop temporary table if exists sudoku..."
|
||||
1 stmt 1 "create temporary table sudoku_work ( ..."
|
||||
2 stmt 1 "create temporary table sudoku_schedul..."
|
||||
3 stmt 93 "call sudoku_init()"
|
||||
3 stmt 89 "call sudoku_init()"
|
||||
4 jump_if_not 7(8) p_naive@0
|
||||
5 stmt 4 "update sudoku_work set cnt = 0 where ..."
|
||||
6 jump 8
|
||||
7 stmt 93 "call sudoku_count()"
|
||||
7 stmt 89 "call sudoku_count()"
|
||||
8 stmt 6 "insert into sudoku_schedule (row,col)..."
|
||||
9 set v_scounter@2 0
|
||||
10 set v_i@3 1
|
||||
|
@ -921,10 +921,6 @@ CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN DROP TRIGGER test1; EN
|
||||
ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
|
||||
CREATE FUNCTION bug_13627_f() returns int BEGIN DROP TRIGGER test1; return 1; END |
|
||||
ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
|
||||
CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN load table t1 from master; END |
|
||||
ERROR 0A000: LOAD TABLE is not allowed in stored procedures
|
||||
CREATE FUNCTION bug_13627_f() returns int BEGIN load table t1 from master; return 1; END |
|
||||
ERROR 0A000: LOAD TABLE is not allowed in stored procedures
|
||||
CREATE TRIGGER tr1 BEFORE INSERT ON t1 FOR EACH ROW BEGIN create table t2 (a int); END |
|
||||
ERROR HY000: Explicit or implicit commit is not allowed in stored function or trigger.
|
||||
CREATE FUNCTION bug_13627_f() returns int BEGIN create table t2 (a int); return 1; END |
|
||||
@ -1115,18 +1111,6 @@ REPAIR TABLE t1;
|
||||
RETURN 1;
|
||||
END|
|
||||
ERROR 0A000: Not allowed to return a result set from a function
|
||||
CREATE FUNCTION bug13012() RETURNS INT
|
||||
BEGIN
|
||||
BACKUP TABLE t1 TO '/tmp';
|
||||
RETURN 1;
|
||||
END|
|
||||
ERROR 0A000: Not allowed to return a result set from a function
|
||||
CREATE FUNCTION bug13012() RETURNS INT
|
||||
BEGIN
|
||||
RESTORE TABLE t1 FROM '/tmp';
|
||||
RETURN 1;
|
||||
END|
|
||||
ERROR 0A000: Not allowed to return a result set from a function
|
||||
create table t1 (a int)|
|
||||
CREATE PROCEDURE bug13012_1() REPAIR TABLE t1|
|
||||
CREATE FUNCTION bug13012_2() RETURNS INT
|
||||
@ -1639,11 +1623,9 @@ DROP TABLE t1|
|
||||
drop procedure if exists p1;
|
||||
create procedure p1()
|
||||
begin
|
||||
create table t1 (a int) type=MyISAM;
|
||||
create table t1 (a int) engine=MyISAM;
|
||||
drop table t1;
|
||||
end|
|
||||
Warnings:
|
||||
Warning 1287 The syntax 'TYPE=storage_engine' is deprecated and will be removed in MySQL 6.0. Please use 'ENGINE=storage_engine' instead
|
||||
call p1();
|
||||
call p1();
|
||||
drop procedure p1;
|
||||
|
@ -4305,19 +4305,10 @@ drop procedure if exists bug13012|
|
||||
create procedure bug13012()
|
||||
BEGIN
|
||||
REPAIR TABLE t1;
|
||||
BACKUP TABLE t1 to '<MYSQLTEST_VARDIR>/tmp/';
|
||||
DROP TABLE t1;
|
||||
RESTORE TABLE t1 FROM '<MYSQLTEST_VARDIR>/tmp/';
|
||||
END|
|
||||
call bug13012()|
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 repair status OK
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 backup Warning The syntax 'BACKUP TABLE' is deprecated and will be removed in MySQL 6.0. Please use MySQL Administrator (mysqldump, mysql) instead
|
||||
test.t1 backup status OK
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 restore Warning The syntax 'RESTORE TABLE' is deprecated and will be removed in MySQL 6.0. Please use MySQL Administrator (mysqldump, mysql) instead
|
||||
test.t1 restore status OK
|
||||
drop procedure bug13012|
|
||||
create view v1 as select * from t1|
|
||||
create procedure bug13012()
|
||||
|
@ -533,9 +533,7 @@ set @@session.max_heap_table_size=default|
|
||||
CREATE DATABASE db_bug7787|
|
||||
use db_bug7787|
|
||||
CREATE PROCEDURE p1()
|
||||
SHOW INNODB STATUS; |
|
||||
Warnings:
|
||||
Warning 1287 The syntax 'SHOW INNODB STATUS' is deprecated and will be removed in MySQL 6.0. Please use 'SHOW ENGINE INNODB STATUS' instead
|
||||
SHOW ENGINE INNODB STATUS; |
|
||||
GRANT EXECUTE ON PROCEDURE p1 TO user_bug7787@localhost|
|
||||
DROP DATABASE db_bug7787|
|
||||
drop user user_bug7787@localhost|
|
||||
|
@ -889,28 +889,12 @@ CREATE TABLE b15776 (a year(0));
|
||||
DROP TABLE b15776;
|
||||
CREATE TABLE b15776 (a year(-2));
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-2))' at line 1
|
||||
CREATE TABLE b15776 (a timestamp(4294967294));
|
||||
Warnings:
|
||||
Warning 1287 The syntax 'TIMESTAMP(4294967294)' is deprecated and will be removed in MySQL 6.0. Please use 'TIMESTAMP' instead
|
||||
DROP TABLE b15776;
|
||||
CREATE TABLE b15776 (a timestamp(4294967295));
|
||||
Warnings:
|
||||
Warning 1287 The syntax 'TIMESTAMP(4294967295)' is deprecated and will be removed in MySQL 6.0. Please use 'TIMESTAMP' instead
|
||||
DROP TABLE b15776;
|
||||
CREATE TABLE b15776 (a timestamp(4294967296));
|
||||
ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
|
||||
CREATE TABLE b15776 (a timestamp(-1));
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-1))' at line 1
|
||||
CREATE TABLE b15776 (a timestamp(-2));
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-2))' at line 1
|
||||
CREATE TABLE b15776 (a int(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999));
|
||||
ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
|
||||
CREATE TABLE b15776 (a char(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999));
|
||||
ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
|
||||
CREATE TABLE b15776 (a year(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999));
|
||||
ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
|
||||
CREATE TABLE b15776 (a timestamp(999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999));
|
||||
ERROR 42000: Display width out of range for column 'a' (max = 4294967295)
|
||||
CREATE TABLE b15776 select cast(null as char(4294967295));
|
||||
show columns from b15776;
|
||||
Field Type Null Key Default Extra
|
||||
|
@ -97,30 +97,6 @@ date date_time time_stamp
|
||||
2005-01-01 2005-01-01 00:00:00 2005-01-01 00:00:00
|
||||
2030-01-01 2030-01-01 00:00:00 2030-01-01 00:00:00
|
||||
drop table t1;
|
||||
create table t1 (t2 timestamp(2), t4 timestamp(4), t6 timestamp(6),
|
||||
t8 timestamp(8), t10 timestamp(10), t12 timestamp(12),
|
||||
t14 timestamp(14));
|
||||
Warnings:
|
||||
Warning 1287 The syntax 'TIMESTAMP(2)' is deprecated and will be removed in MySQL 6.0. Please use 'TIMESTAMP' instead
|
||||
Warning 1287 The syntax 'TIMESTAMP(4)' is deprecated and will be removed in MySQL 6.0. Please use 'TIMESTAMP' instead
|
||||
Warning 1287 The syntax 'TIMESTAMP(6)' is deprecated and will be removed in MySQL 6.0. Please use 'TIMESTAMP' instead
|
||||
Warning 1287 The syntax 'TIMESTAMP(8)' is deprecated and will be removed in MySQL 6.0. Please use 'TIMESTAMP' instead
|
||||
Warning 1287 The syntax 'TIMESTAMP(10)' is deprecated and will be removed in MySQL 6.0. Please use 'TIMESTAMP' instead
|
||||
Warning 1287 The syntax 'TIMESTAMP(12)' is deprecated and will be removed in MySQL 6.0. Please use 'TIMESTAMP' instead
|
||||
Warning 1287 The syntax 'TIMESTAMP(14)' is deprecated and will be removed in MySQL 6.0. Please use 'TIMESTAMP' instead
|
||||
insert t1 values (0,0,0,0,0,0,0),
|
||||
("1997-12-31 23:47:59", "1997-12-31 23:47:59", "1997-12-31 23:47:59",
|
||||
"1997-12-31 23:47:59", "1997-12-31 23:47:59", "1997-12-31 23:47:59",
|
||||
"1997-12-31 23:47:59");
|
||||
select * from t1;
|
||||
t2 t4 t6 t8 t10 t12 t14
|
||||
0000-00-00 00:00:00 0000-00-00 00:00:00 0000-00-00 00:00:00 0000-00-00 00:00:00 0000-00-00 00:00:00 0000-00-00 00:00:00 0000-00-00 00:00:00
|
||||
1997-12-31 23:47:59 1997-12-31 23:47:59 1997-12-31 23:47:59 1997-12-31 23:47:59 1997-12-31 23:47:59 1997-12-31 23:47:59 1997-12-31 23:47:59
|
||||
select * from t1;
|
||||
t2 t4 t6 t8 t10 t12 t14
|
||||
0000-00-00 00:00:00 0000-00-00 00:00:00 0000-00-00 00:00:00 0000-00-00 00:00:00 0000-00-00 00:00:00 0000-00-00 00:00:00 0000-00-00 00:00:00
|
||||
1997-12-31 23:47:59 1997-12-31 23:47:59 1997-12-31 23:47:59 1997-12-31 23:47:59 1997-12-31 23:47:59 1997-12-31 23:47:59 1997-12-31 23:47:59
|
||||
drop table t1;
|
||||
create table t1 (ix timestamp);
|
||||
insert into t1 values (0),(20030101010160),(20030101016001),(20030101240101),(20030132010101),(20031301010101),(20031200000000),(20030000000000);
|
||||
Warnings:
|
||||
@ -436,7 +412,7 @@ max(t)
|
||||
2004-02-01 00:00:00
|
||||
drop table t1;
|
||||
set sql_mode='maxdb';
|
||||
create table t1 (a timestamp, b timestamp(19));
|
||||
create table t1 (a timestamp, b timestamp);
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE "t1" (
|
||||
|
@ -166,9 +166,6 @@ show variables like 'max_error_count';
|
||||
Variable_name Value
|
||||
max_error_count 10
|
||||
drop table t1;
|
||||
set table_type=MYISAM;
|
||||
Warnings:
|
||||
Warning 1287 The syntax '@@table_type' is deprecated and will be removed in MySQL 6.0. Please use '@@storage_engine' instead
|
||||
create table t1 (a int);
|
||||
insert into t1 (a) values (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
|
||||
update t1 set a='abc';
|
||||
|
8
mysql-test/suite/binlog/r/binlog_max_extension.result
Normal file
8
mysql-test/suite/binlog/r/binlog_max_extension.result
Normal file
@ -0,0 +1,8 @@
|
||||
call mtr.add_suppression("Next log extension: 2147483647. Remaining log filename extensions: 0.");
|
||||
call mtr.add_suppression("Log filename extension number exhausted:");
|
||||
call mtr.add_suppression("Can't generate a unique log-filename");
|
||||
RESET MASTER;
|
||||
FLUSH LOGS;
|
||||
Warnings:
|
||||
Warning 1098 Can't generate a unique log-filename master-bin.(1-999)
|
||||
|
@ -456,7 +456,11 @@ return n;
|
||||
end|
|
||||
reset master;
|
||||
insert into t2 values (bug27417(1));
|
||||
Warnings:
|
||||
Note 1592 Statement may not be safe to log in statement format.
|
||||
insert into t2 select bug27417(2);
|
||||
Warnings:
|
||||
Note 1592 Statement may not be safe to log in statement format.
|
||||
reset master;
|
||||
insert into t2 values (bug27417(2));
|
||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||
@ -473,6 +477,8 @@ select count(*) from t2;
|
||||
count(*)
|
||||
2
|
||||
delete from t2 where a=bug27417(3);
|
||||
Warnings:
|
||||
Note 1592 Statement may not be safe to log in statement format.
|
||||
select count(*) from t2 /* nothing got deleted */;
|
||||
count(*)
|
||||
2
|
||||
@ -486,6 +492,8 @@ count(*)
|
||||
5
|
||||
delete t2 from t2 where t2.a=bug27417(100) /* must not affect t2 */;
|
||||
affected rows: 0
|
||||
Warnings:
|
||||
Note 1592 Statement may not be safe to log in statement format.
|
||||
select count(*) from t1 /* must be 7 */;
|
||||
count(*)
|
||||
7
|
||||
@ -700,7 +708,11 @@ return n;
|
||||
end|
|
||||
reset master;
|
||||
insert into t2 values (bug27417(1));
|
||||
Warnings:
|
||||
Note 1592 Statement may not be safe to log in statement format.
|
||||
insert into t2 select bug27417(2);
|
||||
Warnings:
|
||||
Note 1592 Statement may not be safe to log in statement format.
|
||||
reset master;
|
||||
insert into t2 values (bug27417(2));
|
||||
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
|
||||
@ -716,6 +728,8 @@ select count(*) from t2;
|
||||
count(*)
|
||||
2
|
||||
delete from t2 where a=bug27417(3);
|
||||
Warnings:
|
||||
Note 1592 Statement may not be safe to log in statement format.
|
||||
select count(*) from t2 /* nothing got deleted */;
|
||||
count(*)
|
||||
2
|
||||
@ -728,6 +742,8 @@ count(*)
|
||||
5
|
||||
delete t2 from t2 where t2.a=bug27417(100) /* must not affect t2 */;
|
||||
affected rows: 0
|
||||
Warnings:
|
||||
Note 1592 Statement may not be safe to log in statement format.
|
||||
select count(*) from t1 /* must be 7 */;
|
||||
count(*)
|
||||
7
|
||||
|
@ -1,4 +1,3 @@
|
||||
RESET MASTER;
|
||||
create table foo (a int);
|
||||
flush logs;
|
||||
create temporary table tmp1_foo like foo;
|
||||
|
@ -300,4 +300,59 @@ Warnings:
|
||||
Note 1592 Statement may not be safe to log in statement format.
|
||||
DROP TABLE t1, t2;
|
||||
SET @@SESSION.SQL_MODE = @save_sql_mode;
|
||||
CREATE TABLE t1 (a INT, b INT PRIMARY KEY AUTO_INCREMENT);
|
||||
CREATE TABLE t2 (a INT, b INT PRIMARY KEY AUTO_INCREMENT);
|
||||
CREATE FUNCTION func_modify_t1 ()
|
||||
RETURNS INT
|
||||
BEGIN
|
||||
INSERT INTO t1 SET a = 1;
|
||||
RETURN 0;
|
||||
END|
|
||||
# The following statement causes auto-incrementation
|
||||
# of both t1 and t2. It is logged in statement format,
|
||||
# so it should produce unsafe warning.
|
||||
INSERT INTO t2 SET a = func_modify_t1();
|
||||
Warnings:
|
||||
Note 1592 Statement may not be safe to log in statement format.
|
||||
SET SESSION binlog_format = MIXED;
|
||||
# Check if the statement is logged in row format.
|
||||
INSERT INTO t2 SET a = func_modify_t1();
|
||||
SHOW BINLOG EVENTS FROM 12283;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 12283 Query 1 12351 BEGIN
|
||||
master-bin.000001 12351 Table_map 1 12393 table_id: 44 (test.t2)
|
||||
master-bin.000001 12393 Table_map 1 12435 table_id: 45 (test.t1)
|
||||
master-bin.000001 12435 Write_rows 1 12473 table_id: 45
|
||||
master-bin.000001 12473 Write_rows 1 12511 table_id: 44 flags: STMT_END_F
|
||||
master-bin.000001 12511 Query 1 12580 COMMIT
|
||||
DROP TABLE t1,t2;
|
||||
DROP FUNCTION func_modify_t1;
|
||||
SET SESSION binlog_format = STATEMENT;
|
||||
CREATE TABLE t1 (a INT);
|
||||
CREATE TABLE t2 (a INT, b INT PRIMARY KEY AUTO_INCREMENT);
|
||||
CREATE TABLE t3 (a INT, b INT PRIMARY KEY AUTO_INCREMENT);
|
||||
create trigger tri_modify_two_tables before insert on t1 for each row begin
|
||||
insert into t2(a) values(new.a);
|
||||
insert into t3(a) values(new.a);
|
||||
end |
|
||||
# The following statement causes auto-incrementation
|
||||
# of both t2 and t3. It is logged in statement format,
|
||||
# so it should produce unsafe warning
|
||||
INSERT INTO t1 SET a = 1;
|
||||
Warnings:
|
||||
Note 1592 Statement may not be safe to log in statement format.
|
||||
SET SESSION binlog_format = MIXED;
|
||||
# Check if the statement is logged in row format.
|
||||
INSERT INTO t1 SET a = 2;
|
||||
SHOW BINLOG EVENTS FROM 13426;
|
||||
Log_name Pos Event_type Server_id End_log_pos Info
|
||||
master-bin.000001 13426 Query 1 13494 BEGIN
|
||||
master-bin.000001 13494 Table_map 1 13535 table_id: 47 (test.t1)
|
||||
master-bin.000001 13535 Table_map 1 13577 table_id: 48 (test.t3)
|
||||
master-bin.000001 13577 Table_map 1 13619 table_id: 49 (test.t2)
|
||||
master-bin.000001 13619 Write_rows 1 13657 table_id: 49
|
||||
master-bin.000001 13657 Write_rows 1 13695 table_id: 48
|
||||
master-bin.000001 13695 Write_rows 1 13729 table_id: 47 flags: STMT_END_F
|
||||
master-bin.000001 13729 Query 1 13798 COMMIT
|
||||
DROP TABLE t1,t2,t3;
|
||||
"End of tests"
|
||||
|
92
mysql-test/suite/binlog/t/binlog_max_extension.test
Normal file
92
mysql-test/suite/binlog/t/binlog_max_extension.test
Normal file
@ -0,0 +1,92 @@
|
||||
# BUG#40611: MySQL cannot make a binary log after sequential number beyond
|
||||
# unsigned long.
|
||||
#
|
||||
# Problem statement
|
||||
# =================
|
||||
#
|
||||
# Extension for log file names might be created with negative
|
||||
# numbers (when counter used would wrap around), causing server
|
||||
# failure when incrementing -00001 (reaching number 000000
|
||||
# extension).
|
||||
#
|
||||
# Test
|
||||
# ====
|
||||
# This tests aims at testing the a patch that removes negatives
|
||||
# numbers from log name extensions and checks that the server
|
||||
# reports gracefully that the limit has been reached.
|
||||
#
|
||||
# It instruments index file to point to a log file close to
|
||||
# the new maximum and calls flush logs to get warning.
|
||||
#
|
||||
|
||||
call mtr.add_suppression("Next log extension: 2147483647. Remaining log filename extensions: 0.");
|
||||
call mtr.add_suppression("Log filename extension number exhausted:");
|
||||
call mtr.add_suppression("Can't generate a unique log-filename");
|
||||
|
||||
|
||||
-- source include/have_log_bin.inc
|
||||
RESET MASTER;
|
||||
|
||||
-- let $MYSQLD_DATADIR= `select @@datadir`
|
||||
|
||||
###############################################
|
||||
# check hitting maximum file name extension:
|
||||
###############################################
|
||||
|
||||
##########
|
||||
# Prepare
|
||||
##########
|
||||
|
||||
# 1. Stop master server
|
||||
-- write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
wait
|
||||
EOF
|
||||
-- shutdown_server 10
|
||||
-- source include/wait_until_disconnected.inc
|
||||
|
||||
# 2. Prepare log and index file
|
||||
-- copy_file $MYSQLD_DATADIR/master-bin.index $MYSQLD_DATADIR/master-bin.index.orig
|
||||
-- copy_file $MYSQLD_DATADIR/master-bin.000001 $MYSQLD_DATADIR/master-bin.2147483646
|
||||
-- append_file $MYSQLD_DATADIR/master-bin.index
|
||||
master-bin.2147483646
|
||||
EOF
|
||||
|
||||
# 3. Restart the server
|
||||
-- append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
restart
|
||||
EOF
|
||||
-- enable_reconnect
|
||||
-- source include/wait_until_connected_again.inc
|
||||
|
||||
###########
|
||||
# Assertion
|
||||
###########
|
||||
|
||||
# assertion: should throw warning
|
||||
FLUSH LOGS;
|
||||
|
||||
##############
|
||||
# Clean up
|
||||
##############
|
||||
|
||||
# 1. Stop the server
|
||||
-- write_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
wait
|
||||
EOF
|
||||
-- shutdown_server 10
|
||||
-- source include/wait_until_disconnected.inc
|
||||
|
||||
# 2. Undo changes to index and log files
|
||||
-- remove_file $MYSQLD_DATADIR/master-bin.index
|
||||
-- copy_file $MYSQLD_DATADIR/master-bin.index.orig $MYSQLD_DATADIR/master-bin.index
|
||||
-- remove_file $MYSQLD_DATADIR/master-bin.index.orig
|
||||
|
||||
-- remove_file $MYSQLD_DATADIR/master-bin.2147483646
|
||||
-- remove_file $MYSQLD_DATADIR/master-bin.2147483647
|
||||
|
||||
# 3. Restart the server
|
||||
-- append_file $MYSQLTEST_VARDIR/tmp/mysqld.1.expect
|
||||
restart
|
||||
EOF
|
||||
-- enable_reconnect
|
||||
-- source include/wait_until_connected_again.inc
|
@ -30,7 +30,6 @@ source include/have_binlog_format_mixed_or_statement.inc;
|
||||
|
||||
connect (master,127.0.0.1,root,,test,$MASTER_MYPORT,);
|
||||
connect (master1,127.0.0.1,root,,test,$MASTER_MYPORT,);
|
||||
RESET MASTER;
|
||||
|
||||
create table foo (a int);
|
||||
|
||||
|
@ -388,4 +388,72 @@ DELETE FROM t1 LIMIT 1;
|
||||
|
||||
DROP TABLE t1, t2;
|
||||
SET @@SESSION.SQL_MODE = @save_sql_mode;
|
||||
|
||||
#
|
||||
# BUG#45827
|
||||
# The test verifies if stmt that have more than one
|
||||
# different tables to update with autoinc columns
|
||||
# will produce unsafe warning
|
||||
#
|
||||
|
||||
# Test case1: stmt that have more than one different tables
|
||||
# to update with autoinc columns should produce
|
||||
# unsafe warning when calling a function
|
||||
CREATE TABLE t1 (a INT, b INT PRIMARY KEY AUTO_INCREMENT);
|
||||
CREATE TABLE t2 (a INT, b INT PRIMARY KEY AUTO_INCREMENT);
|
||||
|
||||
# The purpose of this function is to insert into t1 so that the second
|
||||
# column is auto_increment'ed.
|
||||
DELIMITER |;
|
||||
CREATE FUNCTION func_modify_t1 ()
|
||||
RETURNS INT
|
||||
BEGIN
|
||||
INSERT INTO t1 SET a = 1;
|
||||
RETURN 0;
|
||||
END|
|
||||
DELIMITER ;|
|
||||
--echo # The following statement causes auto-incrementation
|
||||
--echo # of both t1 and t2. It is logged in statement format,
|
||||
--echo # so it should produce unsafe warning.
|
||||
INSERT INTO t2 SET a = func_modify_t1();
|
||||
|
||||
SET SESSION binlog_format = MIXED;
|
||||
--echo # Check if the statement is logged in row format.
|
||||
let $pos0_master= query_get_value(SHOW MASTER STATUS, Position, 1);
|
||||
INSERT INTO t2 SET a = func_modify_t1();
|
||||
eval SHOW BINLOG EVENTS FROM $pos0_master;
|
||||
|
||||
# clean up
|
||||
DROP TABLE t1,t2;
|
||||
DROP FUNCTION func_modify_t1;
|
||||
|
||||
# Test case2: stmt that have more than one different tables
|
||||
# to update with autoinc columns should produce
|
||||
# unsafe warning when invoking a trigger
|
||||
SET SESSION binlog_format = STATEMENT;
|
||||
CREATE TABLE t1 (a INT);
|
||||
CREATE TABLE t2 (a INT, b INT PRIMARY KEY AUTO_INCREMENT);
|
||||
CREATE TABLE t3 (a INT, b INT PRIMARY KEY AUTO_INCREMENT);
|
||||
# The purpose of this function is to insert into t1 so that the second
|
||||
# column is auto_increment'ed.
|
||||
delimiter |;
|
||||
create trigger tri_modify_two_tables before insert on t1 for each row begin
|
||||
insert into t2(a) values(new.a);
|
||||
insert into t3(a) values(new.a);
|
||||
end |
|
||||
delimiter ;|
|
||||
--echo # The following statement causes auto-incrementation
|
||||
--echo # of both t2 and t3. It is logged in statement format,
|
||||
--echo # so it should produce unsafe warning
|
||||
INSERT INTO t1 SET a = 1;
|
||||
|
||||
SET SESSION binlog_format = MIXED;
|
||||
--echo # Check if the statement is logged in row format.
|
||||
let $pos1_master= query_get_value(SHOW MASTER STATUS, Position, 1);
|
||||
INSERT INTO t1 SET a = 2;
|
||||
eval SHOW BINLOG EVENTS FROM $pos1_master;
|
||||
|
||||
# clean up
|
||||
DROP TABLE t1,t2,t3;
|
||||
|
||||
--echo "End of tests"
|
||||
|
@ -3,13 +3,6 @@
|
||||
!include rpl_1slave_base.cnf
|
||||
!include include/default_client.cnf
|
||||
|
||||
[mysqld.2]
|
||||
# Hardcode the host to 127.0.0.1 until running on more
|
||||
# than one host and it need to be masked
|
||||
# master-host= @mysqld.1.#host
|
||||
master-host= 127.0.0.1
|
||||
master-port= @mysqld.1.port
|
||||
master-password= @mysqld.1.#password
|
||||
master-user= @mysqld.1.#user
|
||||
master-connect-retry= 1
|
||||
|
||||
[mysqld.2]
|
||||
|
||||
|
@ -1,10 +1,7 @@
|
||||
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;
|
||||
stop slave;
|
||||
grant replication slave on *.* to replicate@localhost identified by 'aaaaaaaaaaaaaaab';
|
||||
grant replication slave on *.* to replicate@127.0.0.1 identified by 'aaaaaaaaaaaaaaab';
|
||||
start slave;
|
||||
|
@ -4,50 +4,8 @@ File Position Binlog_Do_DB Binlog_Ignore_DB
|
||||
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
|
||||
reset slave;
|
||||
SHOW SLAVE STATUS;
|
||||
change master to master_host='127.0.0.1';
|
||||
SHOW SLAVE STATUS;
|
||||
Slave_IO_State #
|
||||
Master_Host 127.0.0.1
|
||||
Master_User test
|
||||
Master_Port 3306
|
||||
Connect_Retry 7
|
||||
Master_Log_File
|
||||
Read_Master_Log_Pos #
|
||||
Relay_Log_File #
|
||||
Relay_Log_Pos #
|
||||
Relay_Master_Log_File
|
||||
Slave_IO_Running No
|
||||
Slave_SQL_Running No
|
||||
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 0
|
||||
change master to master_host='127.0.0.1',master_user='root',
|
||||
master_password='',master_port=MASTER_PORT;
|
||||
master_password='',master_port=MASTER_PORT, MASTER_CONNECT_RETRY=7;
|
||||
SHOW SLAVE STATUS;
|
||||
Slave_IO_State #
|
||||
Master_Host 127.0.0.1
|
||||
|
@ -1,7 +1,6 @@
|
||||
reset master;
|
||||
call mtr.add_suppression("Failed during slave I/O thread initialization");
|
||||
stop slave;
|
||||
reset slave;
|
||||
call mtr.add_suppression("Failed during slave I/O thread initialization");
|
||||
SET GLOBAL debug="d,simulate_io_slave_error_on_init,simulate_sql_slave_error_on_init";
|
||||
start slave;
|
||||
show slave status;
|
||||
|
34
mysql-test/suite/rpl/r/rpl_bug41902.result
Normal file
34
mysql-test/suite/rpl/r/rpl_bug41902.result
Normal file
@ -0,0 +1,34 @@
|
||||
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;
|
||||
stop slave;
|
||||
SET @@debug="d,simulate_find_log_pos_error";
|
||||
reset slave;
|
||||
ERROR HY000: Target log not found in binlog index
|
||||
show warnings;
|
||||
Level Code Message
|
||||
Error 1373 Target log not found in binlog index
|
||||
Error 1371 Failed purging old relay logs: Failed during log reset
|
||||
SET @@debug="";
|
||||
reset slave;
|
||||
change master to master_host='dummy';
|
||||
SET @@debug="d,simulate_find_log_pos_error";
|
||||
change master to master_host='dummy';
|
||||
ERROR HY000: Target log not found in binlog index
|
||||
SET @@debug="";
|
||||
reset slave;
|
||||
change master to master_host='dummy';
|
||||
SET @@debug="d,simulate_find_log_pos_error";
|
||||
reset master;
|
||||
ERROR HY000: Target log not found in binlog index
|
||||
SET @@debug="";
|
||||
reset master;
|
||||
SET @@debug="d,simulate_find_log_pos_error";
|
||||
purge binary logs to 'master-bin.000001';
|
||||
ERROR HY000: Target log not found in binlog index
|
||||
SET @@debug="";
|
||||
purge binary logs to 'master-bin.000001';
|
||||
End of the tests
|
@ -1,11 +0,0 @@
|
||||
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;
|
||||
SHOW SLAVE STATUS;
|
||||
load table t1 from master;
|
||||
ERROR 08S01: Error connecting to master: Master is not configured
|
||||
load table t1 from master;
|
||||
ERROR HY000: Error from master: 'Table 'test.t1' doesn't exist'
|
@ -4,9 +4,10 @@ reset master;
|
||||
reset slave;
|
||||
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
start slave;
|
||||
call mtr.add_suppression("Slave I/O: .* failed with error: Lost connection to MySQL server at 'reading initial communication packet'");
|
||||
call mtr.add_suppression("Slave I/O: Master command COM_REGISTER_SLAVE failed: failed registering on master, reconnecting to try again");
|
||||
call mtr.add_suppression("Get master clock failed with error: ");
|
||||
call mtr.add_suppression("Get master SERVER_ID failed with error: ");
|
||||
call mtr.add_suppression("Slave I/O: Master command COM_REGISTER_SLAVE failed: failed registering on master, reconnecting to try again");
|
||||
call mtr.add_suppression("Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; .*");
|
||||
SELECT IS_FREE_LOCK("debug_lock.before_get_UNIX_TIMESTAMP");
|
||||
IS_FREE_LOCK("debug_lock.before_get_UNIX_TIMESTAMP")
|
||||
|
@ -1,8 +1,6 @@
|
||||
reset master;
|
||||
set @restore_slave_net_timeout= @@global.slave_net_timeout;
|
||||
set @@global.slave_net_timeout= 10;
|
||||
Warnings:
|
||||
Warning 1624 The currect value for master_heartbeat_period exceeds the new value of `slave_net_timeout' sec. A sensible value for the period should be less than the timeout.
|
||||
change master to master_host='127.0.0.1',master_port=MASTER_PORT, master_user='root';
|
||||
show status like 'Slave_heartbeat_period';;
|
||||
Variable_name Slave_heartbeat_period
|
||||
@ -59,7 +57,7 @@ Slave_IO_State #
|
||||
Master_Host 127.0.0.1
|
||||
Master_User root
|
||||
Master_Port MASTER_PORT
|
||||
Connect_Retry 1
|
||||
Connect_Retry 60
|
||||
Master_Log_File master-bin.000001
|
||||
Read_Master_Log_Pos 280
|
||||
Relay_Log_File #
|
||||
@ -100,7 +98,7 @@ Slave_IO_State #
|
||||
Master_Host 127.0.0.1
|
||||
Master_User root
|
||||
Master_Port MASTER_PORT
|
||||
Connect_Retry 1
|
||||
Connect_Retry 60
|
||||
Master_Log_File master-bin.000001
|
||||
Read_Master_Log_Pos 280
|
||||
Relay_Log_File #
|
||||
|
@ -1,133 +0,0 @@
|
||||
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;
|
||||
drop database if exists mysqltest;
|
||||
drop database if exists mysqltest2;
|
||||
drop database if exists mysqltest3;
|
||||
drop database if exists mysqltest;
|
||||
drop database if exists mysqltest2;
|
||||
drop database if exists mysqltest3;
|
||||
create database mysqltest2;
|
||||
create database mysqltest;
|
||||
create database mysqltest2;
|
||||
create table mysqltest2.foo (n int)ENGINE=MyISAM;
|
||||
insert into mysqltest2.foo values(4);
|
||||
create table mysqltest2.foo (n int)ENGINE=MyISAM;
|
||||
insert into mysqltest2.foo values(5);
|
||||
create table mysqltest.bar (m int)ENGINE=MyISAM;
|
||||
insert into mysqltest.bar values(15);
|
||||
select mysqltest2.foo.n,mysqltest.bar.m from mysqltest2.foo,mysqltest.bar;
|
||||
n m
|
||||
4 15
|
||||
drop database mysqltest;
|
||||
drop database if exists mysqltest2;
|
||||
drop database mysqltest;
|
||||
ERROR HY000: Can't drop database 'mysqltest'; database doesn't exist
|
||||
drop database mysqltest2;
|
||||
set sql_log_bin = 0;
|
||||
create database mysqltest2;
|
||||
create database mysqltest;
|
||||
show databases like 'mysql%';
|
||||
Database (mysql%)
|
||||
mysql
|
||||
mysqltest
|
||||
mysqltest2
|
||||
create table mysqltest2.t1(n int, s char(20))ENGINE=MyISAM;
|
||||
create table mysqltest2.t2(n int, s text)ENGINE=MyISAM;
|
||||
insert into mysqltest2.t1 values (1, 'one'), (2, 'two'), (3, 'three');
|
||||
insert into mysqltest2.t2 values (11, 'eleven'), (12, 'twelve'), (13, 'thirteen');
|
||||
create table mysqltest.t1(n int, s char(20))ENGINE=MyISAM;
|
||||
create table mysqltest.t2(n int, s text)ENGINE=MyISAM;
|
||||
insert into mysqltest.t1 values (1, 'one test'), (2, 'two test'), (3, 'three test');
|
||||
insert into mysqltest.t2 values (11, 'eleven test'), (12, 'twelve test'),
|
||||
(13, 'thirteen test');
|
||||
set sql_log_bin = 1;
|
||||
show databases like 'mysql%';
|
||||
Database (mysql%)
|
||||
mysql
|
||||
create database mysqltest2;
|
||||
create table mysqltest2.t1(n int, s char(20))ENGINE=MyISAM;
|
||||
insert into mysqltest2.t1 values (1, 'original foo.t1');
|
||||
create table mysqltest2.t3(n int, s char(20))ENGINE=MyISAM;
|
||||
insert into mysqltest2.t3 values (1, 'original foo.t3');
|
||||
create database mysqltest3;
|
||||
create table mysqltest3.t1(n int, s char(20))ENGINE=MyISAM;
|
||||
insert into mysqltest3.t1 values (1, 'original foo2.t1');
|
||||
create database mysqltest;
|
||||
create table mysqltest.t1(n int, s char(20))ENGINE=MyISAM;
|
||||
insert into mysqltest.t1 values (1, 'original bar.t1');
|
||||
create table mysqltest.t3(n int, s char(20))ENGINE=MyISAM;
|
||||
insert into mysqltest.t3 values (1, 'original bar.t3');
|
||||
load data from master;
|
||||
show databases like 'mysql%';
|
||||
Database (mysql%)
|
||||
mysql
|
||||
mysqltest
|
||||
mysqltest2
|
||||
mysqltest3
|
||||
use mysqltest2;
|
||||
show tables;
|
||||
Tables_in_mysqltest2
|
||||
t1
|
||||
t3
|
||||
select * from t1;
|
||||
n s
|
||||
1 original foo.t1
|
||||
use mysqltest3;
|
||||
show tables;
|
||||
Tables_in_mysqltest3
|
||||
t1
|
||||
select * from t1;
|
||||
n s
|
||||
1 original foo2.t1
|
||||
use mysqltest;
|
||||
show tables;
|
||||
Tables_in_mysqltest
|
||||
t1
|
||||
t2
|
||||
t3
|
||||
select * from mysqltest.t1;
|
||||
n s
|
||||
1 one test
|
||||
2 two test
|
||||
3 three test
|
||||
select * from mysqltest.t2;
|
||||
n s
|
||||
11 eleven test
|
||||
12 twelve test
|
||||
13 thirteen test
|
||||
select * from mysqltest.t3;
|
||||
n s
|
||||
1 original bar.t3
|
||||
insert into mysqltest.t1 values (4, 'four test');
|
||||
select * from mysqltest.t1;
|
||||
n s
|
||||
1 one test
|
||||
2 two test
|
||||
3 three test
|
||||
4 four test
|
||||
stop slave;
|
||||
reset slave;
|
||||
load data from master;
|
||||
start slave;
|
||||
insert into mysqltest.t1 values (5, 'five bar');
|
||||
select * from mysqltest.t1;
|
||||
n s
|
||||
1 one test
|
||||
2 two test
|
||||
3 three test
|
||||
4 four test
|
||||
5 five bar
|
||||
load table mysqltest.t1 from master;
|
||||
ERROR 42S01: Table 't1' already exists
|
||||
drop table mysqltest.t1;
|
||||
load table mysqltest.t1 from master;
|
||||
load table bar.t1 from master;
|
||||
ERROR HY000: Error from master: 'Table 'bar.t1' doesn't exist'
|
||||
drop database mysqltest;
|
||||
drop database mysqltest2;
|
||||
drop database mysqltest2;
|
||||
drop database mysqltest3;
|
@ -1,51 +0,0 @@
|
||||
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 Requirment 1 *************"
|
||||
SET SQL_LOG_BIN=0,timestamp=200006;
|
||||
CREATE TABLE t1(t TIMESTAMP NOT NULL,a CHAR(1))ENGINE=MyISAM;
|
||||
INSERT INTO t1 ( a) VALUE ('F');
|
||||
select unix_timestamp(t) from t1;
|
||||
unix_timestamp(t)
|
||||
200006
|
||||
load table t1 from master;
|
||||
select unix_timestamp(t) from t1;
|
||||
unix_timestamp(t)
|
||||
200006
|
||||
set SQL_LOG_BIN=1,timestamp=default;
|
||||
drop table t1;
|
||||
set SQL_LOG_BIN=0;
|
||||
"******************** Test Requirment 2 *************"
|
||||
CREATE TABLE t1 (a INT NOT NULL) ENGINE=MyISAM MAX_ROWS=4000 CHECKSUM=1;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
load table t1 from master;
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
drop table t1;
|
||||
drop table t1;
|
||||
set SQL_LOG_BIN=0;
|
||||
create table t1 (word char(20) not null, index(word))ENGINE=MyISAM;
|
||||
load data infile '../../std_data/words.dat' into table t1;
|
||||
create table t2 (word char(20) not null)ENGINE=MyISAM;
|
||||
load data infile '../../std_data/words.dat' into table t2;
|
||||
create table t3 (word char(20) not null primary key)ENGINE=MyISAM;
|
||||
load table t1 from master;
|
||||
load table t2 from master;
|
||||
load table t3 from master;
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
select count(*) from t2;
|
||||
count(*)
|
||||
70
|
||||
select count(*) from t3;
|
||||
count(*)
|
||||
0
|
||||
set SQL_LOG_BIN=1;
|
||||
drop table if exists t1,t2,t3;
|
||||
create table t1(n int);
|
||||
drop table t1;
|
@ -13,8 +13,8 @@ n
|
||||
2001
|
||||
2002
|
||||
show slave hosts;
|
||||
Server_id Host Port Rpl_recovery_rank Master_id
|
||||
2 127.0.0.1 9999 0 1
|
||||
Server_id Host Port Master_id
|
||||
2 127.0.0.1 9999 1
|
||||
drop table t1;
|
||||
stop slave;
|
||||
create table t2(id int auto_increment primary key, created datetime);
|
||||
|
@ -92,7 +92,7 @@ reset slave;
|
||||
SHOW SLAVE STATUS;
|
||||
Slave_IO_State #
|
||||
Master_Host 127.0.0.1
|
||||
Master_User root
|
||||
Master_User test
|
||||
Master_Port MASTER_PORT
|
||||
Connect_Retry 1
|
||||
Master_Log_File
|
||||
@ -130,6 +130,7 @@ Last_SQL_Errno 0
|
||||
Last_SQL_Error
|
||||
Replicate_Ignore_Server_Ids
|
||||
Master_Server_Id 1
|
||||
change master to master_user='root';
|
||||
start slave;
|
||||
SHOW SLAVE STATUS;
|
||||
Slave_IO_State #
|
||||
|
17
mysql-test/suite/rpl/r/rpl_show_slave_hosts.result
Normal file
17
mysql-test/suite/rpl/r/rpl_show_slave_hosts.result
Normal file
@ -0,0 +1,17 @@
|
||||
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;
|
||||
RESET SLAVE;
|
||||
CHANGE MASTER TO master_host='127.0.0.1',master_port=MASTER_PORT,master_user='root';
|
||||
START SLAVE IO_THREAD;
|
||||
SHOW SLAVE HOSTS;
|
||||
Server_id Host Port Master_id
|
||||
3 slave2 DEFAULT_PORT 1
|
||||
2 SLAVE_PORT 1
|
||||
STOP SLAVE IO_THREAD;
|
||||
SHOW SLAVE HOSTS;
|
||||
Server_id Host Port Master_id
|
||||
2 SLAVE_PORT 1
|
@ -191,14 +191,9 @@ begin
|
||||
return unix_timestamp();
|
||||
end|
|
||||
ERROR HY000: You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)
|
||||
set @old_log_bin_trust_routine_creators= @@global.log_bin_trust_routine_creators;
|
||||
set @old_log_bin_trust_function_creators= @@global.log_bin_trust_function_creators;
|
||||
set global log_bin_trust_routine_creators=1;
|
||||
Warnings:
|
||||
Warning 1287 The syntax '@@log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 6.0. Please use '@@log_bin_trust_function_creators' instead
|
||||
set global log_bin_trust_function_creators=0;
|
||||
set global log_bin_trust_function_creators=1;
|
||||
set @old_log_bin_trust_routine_creators= @@global.log_bin_trust_routine_creators;
|
||||
set @old_log_bin_trust_function_creators= @@global.log_bin_trust_function_creators;
|
||||
set global log_bin_trust_function_creators=1;
|
||||
create function fn2()
|
||||
@ -557,13 +552,7 @@ insert into t values (1);
|
||||
return 0;
|
||||
end
|
||||
master-bin.000001 # Query # # use `mysqltest`; SELECT `mysqltest2`.`f1`()
|
||||
set @@global.log_bin_trust_routine_creators= @old_log_bin_trust_routine_creators;
|
||||
Warnings:
|
||||
Warning 1287 The syntax '@@log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 6.0. Please use '@@log_bin_trust_function_creators' instead
|
||||
set @@global.log_bin_trust_function_creators= @old_log_bin_trust_function_creators;
|
||||
set @@global.log_bin_trust_routine_creators= @old_log_bin_trust_routine_creators;
|
||||
Warnings:
|
||||
Warning 1287 The syntax '@@log_bin_trust_routine_creators' is deprecated and will be removed in MySQL 6.0. Please use '@@log_bin_trust_function_creators' instead
|
||||
set @@global.log_bin_trust_function_creators= @old_log_bin_trust_function_creators;
|
||||
drop database mysqltest;
|
||||
drop database mysqltest2;
|
||||
|
@ -92,7 +92,7 @@ reset slave;
|
||||
SHOW SLAVE STATUS;
|
||||
Slave_IO_State #
|
||||
Master_Host 127.0.0.1
|
||||
Master_User root
|
||||
Master_User test
|
||||
Master_Port MASTER_PORT
|
||||
Connect_Retry 1
|
||||
Master_Log_File
|
||||
@ -130,6 +130,7 @@ Last_SQL_Errno 0
|
||||
Last_SQL_Error
|
||||
Replicate_Ignore_Server_Ids
|
||||
Master_Server_Id 1
|
||||
change master to master_user='root';
|
||||
start slave;
|
||||
SHOW SLAVE STATUS;
|
||||
Slave_IO_State #
|
||||
|
@ -10,6 +10,5 @@
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
rpl_get_master_version_and_clock: # Bug#46931 2009-10-17 joro rpl.rpl_get_master_version_and_clock fails
|
||||
rpl_cross_version : BUG#43913 2009-10-22 luis rpl_cross_version fails with symptom in described in bug report
|
||||
rpl_spec_variables : BUG#47661 2009-10-27 jasonh rpl_spec_variables fails on PB2 hpux
|
||||
|
@ -6,14 +6,10 @@ source include/master-slave.inc;
|
||||
create table t1 (n int not null auto_increment primary key);
|
||||
insert into t1 values(NULL);
|
||||
insert into t1 values(2);
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
select n from t1;
|
||||
connection master;
|
||||
drop table t1;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
@ -4,7 +4,9 @@ create table t1 (n int);
|
||||
insert into t1 values(1);
|
||||
sync_slave_with_master;
|
||||
stop slave;
|
||||
--source include/wait_for_slave_to_stop.inc
|
||||
start slave;
|
||||
--source include/wait_for_slave_to_start.inc
|
||||
connection master;
|
||||
insert into t1 values(2);
|
||||
#let slave catch up
|
||||
|
@ -9,9 +9,7 @@
|
||||
|
||||
--source include/have_binlog_format_mixed_or_statement.inc
|
||||
source include/master-slave.inc;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
connection master;
|
||||
|
||||
create table t2(n int);
|
||||
@ -46,8 +44,6 @@ connection master2;
|
||||
# exist in this connection.
|
||||
|
||||
drop table if exists t1,t2;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
@ -1 +0,0 @@
|
||||
--skip-slave-start
|
0
mysql-test/suite/rpl/t/rpl000017-slave.sh
Executable file → Normal file
0
mysql-test/suite/rpl/t/rpl000017-slave.sh
Executable file → Normal file
@ -1,12 +1,23 @@
|
||||
# The test manually replaces the relay-log.info file with connection
|
||||
# information which the slave then should pick up. However, to avoid
|
||||
# overwriting the file, no CHANGE MASTER TO nor RESET SLAVE statements
|
||||
# should be executed.
|
||||
#
|
||||
# Starting replication before granting a replication user privileges
|
||||
# to replicate will cause the start slave to fail, so we shouldn't do
|
||||
# that.
|
||||
|
||||
let $no_change_master = 1;
|
||||
let $skip_slave_start = 1;
|
||||
source include/master-slave.inc;
|
||||
connection slave;
|
||||
stop slave;
|
||||
|
||||
connection master;
|
||||
grant replication slave on *.* to replicate@localhost identified by 'aaaaaaaaaaaaaaab';
|
||||
grant replication slave on *.* to replicate@127.0.0.1 identified by 'aaaaaaaaaaaaaaab';
|
||||
connection slave;
|
||||
start slave;
|
||||
source include/wait_for_slave_to_start.inc;
|
||||
|
||||
connection master;
|
||||
--disable_warnings
|
||||
drop table if exists t1;
|
||||
|
@ -1 +1 @@
|
||||
--server-id=22 --master-connect-retry=7
|
||||
--server-id=22
|
||||
|
@ -15,14 +15,12 @@ connection slave;
|
||||
reset slave;
|
||||
source include/show_slave_status2.inc;
|
||||
|
||||
change master to master_host='127.0.0.1';
|
||||
# The following needs to be cleaned up when change master is fixed
|
||||
source include/show_slave_status2.inc;
|
||||
--replace_result $MASTER_MYPORT MASTER_PORT
|
||||
eval change master to master_host='127.0.0.1',master_user='root',
|
||||
master_password='',master_port=$MASTER_MYPORT;
|
||||
master_password='',master_port=$MASTER_MYPORT, MASTER_CONNECT_RETRY=7;
|
||||
source include/show_slave_status2.inc;
|
||||
start slave;
|
||||
--source include/wait_for_slave_to_start.inc
|
||||
sync_with_master;
|
||||
source include/show_slave_status2.inc;
|
||||
connection master;
|
||||
|
@ -10,15 +10,11 @@ insert into mysqltest.t1 values (1,2);
|
||||
create table mysqltest.t2 (n int);
|
||||
insert into mysqltest.t2 values (45);
|
||||
rename table mysqltest.t2 to mysqltest.t3, mysqltest.t1 to mysqltest.t2;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
select * from mysqltest.t2;
|
||||
select * from mysqltest.t3;
|
||||
connection master;
|
||||
drop database mysqltest;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
@ -51,9 +51,7 @@ CALL simpleproc3();
|
||||
|
||||
select * from t1;
|
||||
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
|
||||
use test1;
|
||||
select * from t1;
|
||||
|
@ -78,10 +78,8 @@ SELECT oSupp, sSuppD, GSuppDf, VNotSupp, x034 FROM test.t1;
|
||||
SELECT hex(bit1) FROM test.t1 ORDER BY bit1;
|
||||
SELECT hex(bit2) from test.t1 ORDER BY bit2;
|
||||
SELECT hex(bit3) from test.t1 ORDER BY bit3;
|
||||
save_master_pos;
|
||||
sync_slave_with_master;
|
||||
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
SELECT oSupp, sSuppD, GSuppDf, VNotSupp, x034 FROM test.t1;
|
||||
SELECT hex(bit1) FROM test.t1 ORDER BY bit1;
|
||||
SELECT hex(bit2) from test.t1 ORDER BY bit2;
|
||||
|
@ -76,10 +76,8 @@ SELECT oSupp, sSuppD, GSuppDf, VNotSupp, x034
|
||||
SELECT hex(bit1) from test.t1 ORDER BY bit1;
|
||||
SELECT hex(bit2) from test.t1 ORDER BY bit2;
|
||||
SELECT hex(bit3) from test.t1 ORDER BY bit3;
|
||||
save_master_pos;
|
||||
sync_slave_with_master;
|
||||
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
SELECT oSupp, sSuppD, GSuppDf, VNotSupp, x034
|
||||
FROM test.t1
|
||||
ORDER BY oSupp, sSuppD, GSuppDf, VNotSupp, x034;
|
||||
@ -100,10 +98,8 @@ UPDATE test.t3 SET a = 2 WHERE b = 0;
|
||||
|
||||
SELECT a, hex(b) FROM test.t2 ORDER BY a,b;
|
||||
SELECT * FROM test.t3 ORDER BY a,b;
|
||||
save_master_pos;
|
||||
sync_slave_with_master;
|
||||
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
SELECT a, hex(b) FROM test.t2 ORDER BY a,b;
|
||||
SELECT * FROM test.t3 ORDER BY a,b;
|
||||
|
||||
|
@ -8,23 +8,25 @@ source include/have_log_bin.inc;
|
||||
connect (master,127.0.0.1,root,,test,$MASTER_MYPORT,);
|
||||
connect (slave,127.0.0.1,root,,test,$SLAVE_MYPORT,);
|
||||
|
||||
|
||||
connection master;
|
||||
reset master;
|
||||
|
||||
connection slave;
|
||||
reset slave;
|
||||
|
||||
# Add suppression for expected warnings in slaves error log
|
||||
call mtr.add_suppression("Failed during slave I/O thread initialization");
|
||||
|
||||
--disable_warnings
|
||||
stop slave;
|
||||
--enable_warnings
|
||||
reset slave;
|
||||
|
||||
# Set debug flags on slave to force errors to occur
|
||||
SET GLOBAL debug="d,simulate_io_slave_error_on_init,simulate_sql_slave_error_on_init";
|
||||
|
||||
--disable_query_log
|
||||
eval CHANGE MASTER TO MASTER_USER='root',
|
||||
MASTER_CONNECT_RETRY=1,
|
||||
MASTER_HOST='127.0.0.1',
|
||||
MASTER_PORT=$MASTER_MYPORT;
|
||||
--enable_query_log
|
||||
|
||||
start slave;
|
||||
|
||||
connection master;
|
||||
|
1
mysql-test/suite/rpl/t/rpl_bug41902-slave.opt
Normal file
1
mysql-test/suite/rpl/t/rpl_bug41902-slave.opt
Normal file
@ -0,0 +1 @@
|
||||
--loose-debug=-d,simulate_find_log_pos_error
|
61
mysql-test/suite/rpl/t/rpl_bug41902.test
Normal file
61
mysql-test/suite/rpl/t/rpl_bug41902.test
Normal file
@ -0,0 +1,61 @@
|
||||
# Test for Bug #41902 MYSQL_BIN_LOG::reset_logs() doesn't call my_error()
|
||||
# in face of an error
|
||||
#
|
||||
|
||||
source include/have_debug.inc;
|
||||
source include/master-slave.inc;
|
||||
|
||||
#
|
||||
# test checks that
|
||||
# a. there is no crash when find_log_pos() returns with an error
|
||||
# that tests expect to receive;
|
||||
# b. in the case of multiple error messages the first error message is
|
||||
# reported to the user and others are available as warnings.
|
||||
#
|
||||
|
||||
connection slave;
|
||||
stop slave;
|
||||
|
||||
SET @@debug="d,simulate_find_log_pos_error";
|
||||
|
||||
--error ER_UNKNOWN_TARGET_BINLOG
|
||||
reset slave;
|
||||
show warnings;
|
||||
|
||||
SET @@debug="";
|
||||
reset slave;
|
||||
change master to master_host='dummy';
|
||||
|
||||
SET @@debug="d,simulate_find_log_pos_error";
|
||||
|
||||
--error ER_UNKNOWN_TARGET_BINLOG
|
||||
change master to master_host='dummy';
|
||||
|
||||
SET @@debug="";
|
||||
reset slave;
|
||||
change master to master_host='dummy';
|
||||
|
||||
connection master;
|
||||
SET @@debug="d,simulate_find_log_pos_error";
|
||||
--error ER_UNKNOWN_TARGET_BINLOG
|
||||
reset master;
|
||||
|
||||
SET @@debug="";
|
||||
reset master;
|
||||
|
||||
SET @@debug="d,simulate_find_log_pos_error";
|
||||
--error ER_UNKNOWN_TARGET_BINLOG
|
||||
purge binary logs to 'master-bin.000001';
|
||||
|
||||
SET @@debug="";
|
||||
purge binary logs to 'master-bin.000001';
|
||||
|
||||
--disable_query_log
|
||||
call mtr.add_suppression("Failed to locate old binlog or relay log files");
|
||||
call mtr.add_suppression("MYSQL_LOG::purge_logs was called with file ./master-bin.000001 not listed in the index");
|
||||
connection slave;
|
||||
call mtr.add_suppression("Failed to locate old binlog or relay log files");
|
||||
call mtr.add_suppression("MYSQL_LOG::purge_logs was called with file ./master-bin.000001 not listed in the index");
|
||||
--enable_query_log
|
||||
|
||||
--echo End of the tests
|
@ -28,9 +28,7 @@ sync_with_master;
|
||||
select * from t1;
|
||||
connection master;
|
||||
drop table t1;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
||||
|
@ -7,6 +7,9 @@
|
||||
#############################################################
|
||||
--source include/have_innodb.inc
|
||||
|
||||
# Use wait_for_slave_to_(start|stop) for current connections
|
||||
let $keep_connection= 1;
|
||||
|
||||
# Set up circular ring and new names for servers
|
||||
--echo *** Set up circular ring by schema A->B->C->D->A ***
|
||||
--source include/circular_rpl_for_4_hosts_init.inc
|
||||
|
@ -16,6 +16,7 @@ DROP TABLE IF EXISTS t1;
|
||||
--echo *** Create "wider" table on slave ***
|
||||
sync_slave_with_master;
|
||||
STOP SLAVE;
|
||||
--source include/wait_for_slave_to_stop.inc
|
||||
RESET SLAVE;
|
||||
|
||||
eval CREATE TABLE t1 (
|
||||
@ -69,6 +70,7 @@ RESET MASTER;
|
||||
--echo *** Start replication ***
|
||||
connection slave;
|
||||
START SLAVE;
|
||||
--source include/wait_for_slave_to_start.inc
|
||||
|
||||
--echo *** Insert data on master and display it. ***
|
||||
connection master;
|
||||
|
@ -8,9 +8,7 @@ connection master;
|
||||
delete from mysql.user where user=_binary'rpl_do_grant';
|
||||
delete from mysql.db where user=_binary'rpl_do_grant';
|
||||
flush privileges;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
# if these DELETE did nothing on the master, we need to do them manually on the
|
||||
# slave.
|
||||
delete from mysql.user where user=_binary'rpl_ignore_grant';
|
||||
@ -21,17 +19,13 @@ flush privileges;
|
||||
connection master;
|
||||
grant select on *.* to rpl_do_grant@localhost;
|
||||
grant drop on test.* to rpl_do_grant@localhost;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
show grants for rpl_do_grant@localhost;
|
||||
|
||||
# test replication of SET PASSWORD
|
||||
connection master;
|
||||
set password for rpl_do_grant@localhost=password("does it work?");
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
select password<>_binary'' from mysql.user where user=_binary'rpl_do_grant';
|
||||
|
||||
#
|
||||
@ -44,9 +38,7 @@ select password<>'' from mysql.user where user='rpl_do_grant';
|
||||
set sql_mode='ANSI_QUOTES';
|
||||
set password for rpl_do_grant@localhost=password('does it work?');
|
||||
set sql_mode='';
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
select password<>'' from mysql.user where user='rpl_do_grant';
|
||||
|
||||
|
||||
|
@ -7,10 +7,6 @@ drop table if exists t1, t2;
|
||||
create table t1 (a int);
|
||||
--error 1051
|
||||
drop table t1, t2;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
||||
|
||||
|
@ -20,9 +20,7 @@ drop view v1, not_exist_view;
|
||||
--error 1146
|
||||
select * from v1;
|
||||
drop view v2, v3;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
--error 1146
|
||||
select * from v1;
|
||||
--error 1146
|
||||
|
@ -22,6 +22,7 @@ connection master;
|
||||
eval change master to master_host="127.0.0.1",master_port=$SLAVE_MYPORT,master_user="root";
|
||||
|
||||
start slave;
|
||||
--source include/wait_for_slave_to_start.inc
|
||||
|
||||
# now we test it
|
||||
|
||||
@ -38,12 +39,11 @@ sync_with_master;
|
||||
# log-slave-updates and circul repl
|
||||
#
|
||||
stop slave;
|
||||
--source include/wait_for_slave_to_stop.inc
|
||||
|
||||
create table t2 (n int); # create one ignored event
|
||||
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
|
||||
connection slave;
|
||||
|
||||
@ -85,6 +85,7 @@ start slave until master_log_file="slave-bin.000001",master_log_pos=663;
|
||||
select * from t3;
|
||||
|
||||
start slave;
|
||||
--source include/wait_for_slave_to_start.inc
|
||||
|
||||
# BUG#13023 is that Exec_master_log_pos may stay too low "forever":
|
||||
|
||||
@ -94,9 +95,7 @@ create table t4 (n int); # create 3 ignored events
|
||||
create table t5 (n int);
|
||||
create table t6 (n int);
|
||||
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
|
||||
connection slave;
|
||||
|
||||
@ -114,11 +113,10 @@ show tables;
|
||||
# cleanup
|
||||
|
||||
stop slave;
|
||||
--source include/wait_for_slave_to_stop.inc
|
||||
reset slave;
|
||||
drop table t1,t2,t3,t4,t5,t6;
|
||||
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
@ -1 +0,0 @@
|
||||
--force-restart
|
@ -1,14 +0,0 @@
|
||||
source include/master-slave.inc;
|
||||
|
||||
source include/show_slave_status.inc;
|
||||
|
||||
#
|
||||
# Load table should not succeed on the master as this is not a slave
|
||||
#
|
||||
--error 1218
|
||||
load table t1 from master;
|
||||
connection slave;
|
||||
--error 1188
|
||||
load table t1 from master;
|
||||
|
||||
# End of 4.1 tests
|
@ -14,19 +14,15 @@ create table t4 (a int primary key);
|
||||
--error 1022, ER_DUP_ENTRY
|
||||
insert into t1 values (1),(1);
|
||||
insert into t4 values (1),(2);
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
# as the t1 table is ignored on the slave, the slave should be able to sync
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
# check that the table has been ignored, because otherwise the test is nonsense
|
||||
show tables like 't1';
|
||||
show tables like 't4';
|
||||
SELECT * FROM test.t4 ORDER BY a;
|
||||
connection master;
|
||||
drop table t1;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
|
||||
# Now test that even critical errors (connection killed)
|
||||
# are ignored if rules allow it.
|
||||
@ -53,15 +49,11 @@ connection master;
|
||||
--error 0,1317,2013
|
||||
reap;
|
||||
connection master1;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
SELECT * FROM test.t4 ORDER BY a;
|
||||
|
||||
connection master1;
|
||||
DROP TABLE test.t4;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
# End of 4.1 tests
|
||||
# Adding comment for force manual merge 5.0 -> wl1012. delete me if needed
|
||||
|
0
mysql-test/suite/rpl/t/rpl_flushlog_loop-master.sh
Executable file → Normal file
0
mysql-test/suite/rpl/t/rpl_flushlog_loop-master.sh
Executable file → Normal file
0
mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.sh
Executable file → Normal file
0
mysql-test/suite/rpl/t/rpl_flushlog_loop-slave.sh
Executable file → Normal file
@ -1,6 +1,8 @@
|
||||
# Testing if "flush logs" command bouncing resulting in logs created in a loop
|
||||
# in case of bi-directional replication
|
||||
-- source include/master-slave.inc
|
||||
# Use wait_for_slave_to_(start|stop) for current connections
|
||||
let $keep_connection= 1;
|
||||
|
||||
let $MYSQLD_DATADIR= `select @@datadir`;
|
||||
--replace_result $MYSQLD_DATADIR MYSQLD_DATADIR/
|
||||
@ -9,18 +11,20 @@ show variables like 'relay_log%';
|
||||
connection slave;
|
||||
--disable_warnings
|
||||
stop slave;
|
||||
--source include/wait_for_slave_to_stop.inc
|
||||
--enable_warnings
|
||||
--replace_result $MASTER_MYPORT MASTER_PORT
|
||||
eval change master to master_host='127.0.0.1',master_user='root',
|
||||
master_password='',master_port=$MASTER_MYPORT;
|
||||
start slave;
|
||||
|
||||
--source include/wait_for_slave_to_start.inc
|
||||
#
|
||||
# Start replication slave -> master
|
||||
#
|
||||
connection master;
|
||||
--disable_warnings
|
||||
stop slave;
|
||||
--source include/wait_for_slave_to_stop.inc
|
||||
--enable_warnings
|
||||
--replace_result $SLAVE_MYPORT SLAVE_PORT
|
||||
eval change master to master_host='127.0.0.1',master_user='root',
|
||||
|
@ -34,12 +34,14 @@ SELECT * FROM t1;
|
||||
|
||||
# restart replication for the next testcase
|
||||
stop slave;
|
||||
--source include/wait_for_slave_to_stop.inc
|
||||
reset slave;
|
||||
connection master;
|
||||
reset master;
|
||||
drop table t1;
|
||||
connection slave;
|
||||
start slave;
|
||||
--source include/wait_for_slave_to_start.inc
|
||||
|
||||
# testcase with INSERT SELECT
|
||||
connection master;
|
||||
|
@ -1,181 +0,0 @@
|
||||
# This one assumes we are ignoring updates on tables in database mysqltest2,
|
||||
# but doing the ones in database mysqltest
|
||||
#################################################################
|
||||
# Change Author: JBM
|
||||
# Change Date: 2006-02-02
|
||||
# Change: Added ENGINE=MyISAM
|
||||
# Reason: LOAD from master is only supported by MyISAM
|
||||
#################################################################
|
||||
|
||||
source include/master-slave.inc;
|
||||
--disable_warnings
|
||||
drop database if exists mysqltest;
|
||||
drop database if exists mysqltest2;
|
||||
drop database if exists mysqltest3;
|
||||
connection slave;
|
||||
drop database if exists mysqltest;
|
||||
drop database if exists mysqltest2;
|
||||
drop database if exists mysqltest3;
|
||||
connection master;
|
||||
create database mysqltest2;
|
||||
create database mysqltest;
|
||||
--enable_warnings
|
||||
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
create database mysqltest2;
|
||||
create table mysqltest2.foo (n int)ENGINE=MyISAM;
|
||||
insert into mysqltest2.foo values(4);
|
||||
connection master;
|
||||
create table mysqltest2.foo (n int)ENGINE=MyISAM;
|
||||
insert into mysqltest2.foo values(5);
|
||||
create table mysqltest.bar (m int)ENGINE=MyISAM;
|
||||
insert into mysqltest.bar values(15);
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
select mysqltest2.foo.n,mysqltest.bar.m from mysqltest2.foo,mysqltest.bar;
|
||||
connection master;
|
||||
drop database mysqltest;
|
||||
drop database if exists mysqltest2;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
--error 1008
|
||||
drop database mysqltest;
|
||||
drop database mysqltest2;
|
||||
|
||||
# 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 mysqltest2;
|
||||
create database mysqltest;
|
||||
show databases like 'mysql%';
|
||||
create table mysqltest2.t1(n int, s char(20))ENGINE=MyISAM;
|
||||
create table mysqltest2.t2(n int, s text)ENGINE=MyISAM;
|
||||
insert into mysqltest2.t1 values (1, 'one'), (2, 'two'), (3, 'three');
|
||||
insert into mysqltest2.t2 values (11, 'eleven'), (12, 'twelve'), (13, 'thirteen');
|
||||
|
||||
create table mysqltest.t1(n int, s char(20))ENGINE=MyISAM;
|
||||
create table mysqltest.t2(n int, s text)ENGINE=MyISAM;
|
||||
insert into mysqltest.t1 values (1, 'one test'), (2, 'two test'), (3, 'three test');
|
||||
insert into mysqltest.t2 values (11, 'eleven test'), (12, 'twelve test'),
|
||||
(13, 'thirteen test');
|
||||
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 like 'mysql%';
|
||||
# Create mysqltest2 and mysqltest3 on slave; we expect that LOAD DATA FROM
|
||||
# MASTER will neither touch database mysqltest nor mysqltest3
|
||||
create database mysqltest2;
|
||||
create table mysqltest2.t1(n int, s char(20))ENGINE=MyISAM;
|
||||
insert into mysqltest2.t1 values (1, 'original foo.t1');
|
||||
create table mysqltest2.t3(n int, s char(20))ENGINE=MyISAM;
|
||||
insert into mysqltest2.t3 values (1, 'original foo.t3');
|
||||
create database mysqltest3;
|
||||
create table mysqltest3.t1(n int, s char(20))ENGINE=MyISAM;
|
||||
insert into mysqltest3.t1 values (1, 'original foo2.t1');
|
||||
|
||||
# Create mysqltest, and mysqltest.t1, to check that it gets replaced,
|
||||
# and mysqltest.t3 to check that it is not touched (there is no
|
||||
# mysqltest.t3 on master)
|
||||
create database mysqltest;
|
||||
create table mysqltest.t1(n int, s char(20))ENGINE=MyISAM;
|
||||
insert into mysqltest.t1 values (1, 'original bar.t1');
|
||||
create table mysqltest.t3(n int, s char(20))ENGINE=MyISAM;
|
||||
insert into mysqltest.t3 values (1, 'original bar.t3');
|
||||
|
||||
load data from master;
|
||||
|
||||
# Now let's check if we have the right tables and the right data in them
|
||||
show databases like 'mysql%';
|
||||
use mysqltest2;
|
||||
|
||||
# LOAD DATA FROM MASTER uses only replicate_*_db rules to decide which
|
||||
# databases have to be copied. So it thinks "mysqltest" has to be
|
||||
# copied. Before 4.0.16 it would first drop "mysqltest", then create
|
||||
# "mysqltest". This "drop" is a bug; in that case t3 would disappear. So
|
||||
# here the effect of this bug (BUG#1248) would be to leave an empty
|
||||
# "mysqltest" on the slave.
|
||||
|
||||
show tables; # should be t1 & t3
|
||||
select * from t1; # should be slave's original
|
||||
use mysqltest3;
|
||||
show tables; # should be t1
|
||||
select * from t1; # should be slave's original
|
||||
use mysqltest;
|
||||
show tables; # should contain master's copied t1&t2, slave's original t3
|
||||
select * from mysqltest.t1;
|
||||
select * from mysqltest.t2;
|
||||
select * from mysqltest.t3;
|
||||
|
||||
# Now let's see if replication works
|
||||
connection master;
|
||||
insert into mysqltest.t1 values (4, 'four test');
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
select * from mysqltest.t1;
|
||||
|
||||
# Check that LOAD DATA FROM MASTER is able to create master.info
|
||||
# if needed (if RESET SLAVE was used before), before writing to it (BUG#2922).
|
||||
|
||||
stop slave;
|
||||
reset slave;
|
||||
load data from master;
|
||||
start slave;
|
||||
# see if replication coordinates were restored fine
|
||||
connection master;
|
||||
insert into mysqltest.t1 values (5, 'five bar');
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
select * from mysqltest.t1;
|
||||
|
||||
# Check that LOAD DATA FROM MASTER reports the error if it can't drop a
|
||||
# table to be overwritten.
|
||||
# DISABLED FOR NOW AS chmod IS NOT PORTABLE ON NON-UNIX
|
||||
# insert into mysqltest.t1 values(10, 'should be there');
|
||||
# flush tables;
|
||||
let $MYSQLD_SLAVE_DATADIR= `select @@datadir`;
|
||||
# system chmod 500 $MYSQLD_SLAVE_DATADIR/mysqltest/;
|
||||
# --error 6
|
||||
# load data from master; # should fail (errno 13)
|
||||
# system chmod 700 $MYSQLD_SLAVE_DATADIR/mysqltest/;
|
||||
# select * from mysqltest.t1; # should contain the row (10, ...)
|
||||
|
||||
|
||||
# Check that LOAD TABLE FROM MASTER fails if the table exists on slave
|
||||
--error 1050
|
||||
load table mysqltest.t1 from master;
|
||||
drop table mysqltest.t1;
|
||||
load table mysqltest.t1 from master;
|
||||
|
||||
# Check what happens when requestion not existing table
|
||||
#
|
||||
--error 1188
|
||||
load table bar.t1 from master;
|
||||
|
||||
# as LOAD DATA FROM MASTER failed it did not restart slave threads
|
||||
# DISABLED FOR NOW
|
||||
# start slave;
|
||||
|
||||
# Now time for cleanup
|
||||
connection master;
|
||||
drop database mysqltest;
|
||||
drop database mysqltest2;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
# These have to be dropped on slave because they are not replicated
|
||||
drop database mysqltest2;
|
||||
drop database mysqltest3;
|
||||
|
||||
# End of 4.1 tests
|
@ -1,98 +0,0 @@
|
||||
###########################################################
|
||||
# Change Author: JBM
|
||||
# Change Date: 2006-2-2
|
||||
# Change: Added ENGINE=$engine_type for first create table
|
||||
# Reason: Only MyISAM supports load from master no need to
|
||||
# run test case for other engines, in addition test will
|
||||
# fail if other engines are set as default engine
|
||||
###########################################################
|
||||
# Change Author: JBM
|
||||
# Change Date: 2006-2-3
|
||||
# Change: removed ENGINE=$engine_type for first create table
|
||||
# and renamed test file to rpl_load_table_from_master.test.
|
||||
# In addition added test requirements.
|
||||
# Reason: Request from review.
|
||||
############################################################
|
||||
# REQUIREMENT TEST 1:
|
||||
# LOAD TABLE FROM MASTER must work with a forced timestamp.
|
||||
############################################################
|
||||
#
|
||||
# Test forced timestamp
|
||||
#
|
||||
-- source include/master-slave.inc
|
||||
|
||||
-- echo "******************** Test Requirment 1 *************"
|
||||
|
||||
# Don't log table creating to the slave as we want to test LOAD TABLE
|
||||
SET SQL_LOG_BIN=0,timestamp=200006;
|
||||
eval CREATE TABLE t1(t TIMESTAMP NOT NULL,a CHAR(1))ENGINE=MyISAM;
|
||||
INSERT INTO t1 ( a) VALUE ('F');
|
||||
select unix_timestamp(t) from t1;
|
||||
connection slave;
|
||||
load table t1 from master;
|
||||
select unix_timestamp(t) from t1;
|
||||
|
||||
# Delete the created table on master and slave
|
||||
connection master;
|
||||
set SQL_LOG_BIN=1,timestamp=default;
|
||||
drop table t1;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
connection master;
|
||||
|
||||
#
|
||||
# Test copying table with checksum
|
||||
#
|
||||
|
||||
# Don't log table creating to the slave as we want to test LOAD TABLE
|
||||
set SQL_LOG_BIN=0;
|
||||
|
||||
#######################################################
|
||||
# REQUIREMENTi TEST 2:
|
||||
#LOAD TABLE FROM MASTER must work with table checksum
|
||||
#######################################################
|
||||
-- echo "******************** Test Requirment 2 *************"
|
||||
|
||||
eval CREATE TABLE t1 (a INT NOT NULL) ENGINE=MyISAM MAX_ROWS=4000 CHECKSUM=1;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
load table t1 from master;
|
||||
check table t1;
|
||||
drop table t1;
|
||||
connection master;
|
||||
drop table t1;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
|
||||
connection master;
|
||||
set SQL_LOG_BIN=0;
|
||||
create table t1 (word char(20) not null, index(word))ENGINE=MyISAM;
|
||||
load data infile '../../std_data/words.dat' into table t1;
|
||||
create table t2 (word char(20) not null)ENGINE=MyISAM;
|
||||
load data infile '../../std_data/words.dat' into table t2;
|
||||
create table t3 (word char(20) not null primary key)ENGINE=MyISAM;
|
||||
connection slave;
|
||||
load table t1 from master;
|
||||
load table t2 from master;
|
||||
load table t3 from master;
|
||||
check table t1;
|
||||
select count(*) from t2;
|
||||
select count(*) from t3;
|
||||
connection master;
|
||||
set SQL_LOG_BIN=1;
|
||||
drop table if exists t1,t2,t3;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
create table t1(n int);
|
||||
drop table t1;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# End of 4.1 tests
|
@ -23,9 +23,7 @@ load data infile '../../std_data/loaddata6.dat' into table t1 character set koi8
|
||||
|
||||
select hex(a) from t1;
|
||||
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
|
||||
select hex(a) from t1;
|
||||
connection master;
|
||||
|
@ -16,7 +16,7 @@ connection master;
|
||||
LOAD DATA INFILE '../../std_data/rpl_loaddata.dat' INTO TABLE t1;
|
||||
|
||||
connection slave;
|
||||
wait_for_slave_to_stop;
|
||||
--source include/wait_for_slave_sql_to_stop.inc
|
||||
source include/show_slave_status.inc;
|
||||
|
||||
connection slave;
|
||||
|
@ -28,9 +28,7 @@ LOAD DATA INFILE '../../std_data/rpl_loaddata.dat' INTO TABLE mysqltest.t1;
|
||||
SELECT COUNT(*) FROM mysqltest.t1;
|
||||
|
||||
# Now lets check the slave to see what we have :-)
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
|
||||
SHOW DATABASES;
|
||||
|
||||
|
@ -16,9 +16,7 @@ load data infile '../../std_data/rpl_loaddata.dat' into table test.t1;
|
||||
|
||||
# Test logging on slave;
|
||||
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
select count(*) from test.t1; # check that LOAD was replicated
|
||||
source include/show_binlog_events.inc;
|
||||
|
||||
|
@ -27,15 +27,11 @@ truncate table t1;
|
||||
--replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
|
||||
eval load data local infile '$MYSQLD_DATADIR/rpl_loaddatalocal.select_outfile' into table t1;
|
||||
--remove_file $MYSQLD_DATADIR/rpl_loaddatalocal.select_outfile
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
select a,count(*) from t1 group by a;
|
||||
connection master;
|
||||
drop table t1;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
||||
|
@ -1,9 +1,7 @@
|
||||
# See if master_pos_wait(,,timeout)
|
||||
# Terminates with "timeout expired" (-1)
|
||||
source include/master-slave.inc;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
# Ask for a master log that has certainly not been reached yet
|
||||
# timeout= 2 seconds
|
||||
select master_pos_wait('master-bin.999999',0,2);
|
||||
|
0
mysql-test/suite/rpl/t/rpl_misc_functions-slave.sh
Executable file → Normal file
0
mysql-test/suite/rpl/t/rpl_misc_functions-slave.sh
Executable file → Normal file
@ -18,6 +18,7 @@ show slave hosts;
|
||||
drop table t1;
|
||||
sync_slave_with_master;
|
||||
stop slave;
|
||||
--source include/wait_for_slave_to_stop.inc
|
||||
connection master;
|
||||
|
||||
# Test replication of timestamp
|
||||
@ -35,6 +36,7 @@ create table t5 select * from t4;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
start slave;
|
||||
--source include/wait_for_slave_to_start.inc
|
||||
sync_with_master;
|
||||
select * from t2;
|
||||
show create table t3;
|
||||
|
@ -19,8 +19,6 @@ select * from t2;
|
||||
|
||||
connection master;
|
||||
drop table t1,t2;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
@ -27,11 +27,9 @@ SELECT * FROM a;
|
||||
insert into a values(2),(3);
|
||||
delete alias FROM a alias where alias.i=2;
|
||||
select * from a;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_slave_with_master;
|
||||
|
||||
use mysqltest_to;
|
||||
sync_with_master;
|
||||
select * from a;
|
||||
|
||||
# BUG#3461
|
||||
|
@ -47,8 +47,7 @@ sync_with_master; # won't work if slave SQL thread stopped
|
||||
|
||||
connection master; # cleanup
|
||||
drop table t1;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
|
||||
# If the machine is so fast that slave syncs before OPTIMIZE
|
||||
# starts, this test wil demonstrate nothing but will pass.
|
||||
|
@ -38,20 +38,15 @@ select @@net_buffer_length, @@max_allowed_packet;
|
||||
create table `t1` (`f1` LONGTEXT) ENGINE=MyISAM;
|
||||
|
||||
INSERT INTO `t1`(`f1`) VALUES ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1023');
|
||||
save_master_pos;
|
||||
sync_slave_with_master;
|
||||
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
eval select count(*) from `$db`.`t1` /* must be 1 */;
|
||||
|
||||
SHOW STATUS LIKE 'Slave_running';
|
||||
select * from information_schema.session_status where variable_name= 'SLAVE_RUNNING';
|
||||
connection master;
|
||||
eval drop database $db;
|
||||
save_master_pos;
|
||||
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
|
||||
#
|
||||
# Bug #23755: Replicated event larger that max_allowed_packet infinitely re-transmits
|
||||
|
@ -6,9 +6,7 @@
|
||||
###########################################################
|
||||
source include/master-slave.inc;
|
||||
|
||||
#save_master_pos;
|
||||
#connection slave;
|
||||
#sync_with_master;
|
||||
#sync_slave_with_master;
|
||||
#reset master;
|
||||
#connection master;
|
||||
|
||||
@ -30,20 +28,16 @@ prepare stmt2 from @var2;
|
||||
set @var1='from-master-3';
|
||||
execute stmt2 using @var1;
|
||||
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
SELECT * FROM t1 ORDER BY n;
|
||||
|
||||
connection master;
|
||||
|
||||
drop table t1;
|
||||
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
stop slave;
|
||||
|
||||
source include/wait_for_slave_to_stop.inc;
|
||||
# End of 4.1 tests
|
||||
|
||||
#
|
||||
@ -102,13 +96,12 @@ use mysqltest1;
|
||||
EXECUTE stmt_d_1;
|
||||
|
||||
--echo
|
||||
--save_master_pos
|
||||
--sync_slave_with_master
|
||||
|
||||
|
||||
--echo
|
||||
--echo # Connection: slave
|
||||
--echo
|
||||
--connection slave
|
||||
--sync_with_master
|
||||
|
||||
--echo
|
||||
SELECT * FROM t1;
|
||||
@ -125,13 +118,12 @@ DROP DATABASE mysqltest1;
|
||||
use test;
|
||||
DROP TABLE t1;
|
||||
--echo
|
||||
--save_master_pos
|
||||
--sync_slave_with_master
|
||||
|
||||
|
||||
--echo
|
||||
--echo # Connection: slave
|
||||
--echo
|
||||
--connection slave
|
||||
--sync_with_master
|
||||
|
||||
--echo
|
||||
STOP SLAVE;
|
||||
|
@ -4,6 +4,7 @@
|
||||
source include/master-slave.inc;
|
||||
connection slave;
|
||||
stop slave;
|
||||
--source include/wait_for_slave_to_stop.inc
|
||||
connection master;
|
||||
# This will generate a master's binlog > 10 bytes
|
||||
create table t1 (a int);
|
||||
|
@ -18,18 +18,14 @@ insert into t1 values(15),(16),(17);
|
||||
update t1 set m=20 where m=16;
|
||||
delete from t1 where m=17;
|
||||
create table t11 select * from t1;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
select * from t1 ORDER BY m;
|
||||
select * from t2;
|
||||
--error 1146
|
||||
select * from t11;
|
||||
connection master;
|
||||
drop table if exists t1,t2,t11;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
# show slave status, just to see of it prints replicate-do-table
|
||||
--replace_result $MASTER_MYPORT MASTER_PORT
|
||||
--replace_column 1 # 7 # 8 # 9 # 22 # 23 # 33 # 35 # 36 #
|
||||
|
0
mysql-test/suite/rpl/t/rpl_rotate_logs-slave.sh
Executable file → Normal file
0
mysql-test/suite/rpl/t/rpl_rotate_logs-slave.sh
Executable file → Normal file
@ -56,6 +56,7 @@ connection master;
|
||||
reset master;
|
||||
connection slave;
|
||||
start slave;
|
||||
--source include/wait_for_slave_to_start.inc
|
||||
connection master;
|
||||
|
||||
#
|
||||
@ -100,6 +101,7 @@ connection slave;
|
||||
#restart slave skipping one event
|
||||
set global sql_slave_skip_counter=1;
|
||||
start slave;
|
||||
--source include/wait_for_slave_to_start.inc
|
||||
|
||||
connection master;
|
||||
|
||||
@ -161,9 +163,7 @@ select count(*) from t3 where n >= 4;
|
||||
create table t4 select * from temp_table;
|
||||
source include/show_binary_logs.inc;
|
||||
source include/show_master_status.inc;
|
||||
save_master_pos;
|
||||
connection slave;
|
||||
sync_with_master;
|
||||
sync_slave_with_master;
|
||||
select * from t4;
|
||||
|
||||
source include/show_slave_status2.inc;
|
||||
|
@ -25,8 +25,10 @@ sync_slave_with_master;
|
||||
--disable_query_log
|
||||
set @storage_engine = @@global.storage_engine;
|
||||
STOP SLAVE;
|
||||
--source include/wait_for_slave_to_stop.inc
|
||||
SET GLOBAL storage_engine=memory;
|
||||
START SLAVE;
|
||||
--source include/wait_for_slave_to_start.inc
|
||||
--enable_query_log
|
||||
|
||||
--source include/reset_master_and_slave.inc
|
||||
@ -129,8 +131,10 @@ DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
||||
sync_slave_with_master;
|
||||
# Here we reset the value of the default storage engine
|
||||
STOP SLAVE;
|
||||
--source include/wait_for_slave_to_stop.inc
|
||||
SET GLOBAL storage_engine=@storage_engine;
|
||||
START SLAVE;
|
||||
--source include/wait_for_slave_to_start.inc
|
||||
--enable_ps_protocol
|
||||
|
||||
# BUG#22864 (Rollback following CREATE ... SELECT discards 'CREATE
|
||||
@ -138,11 +142,13 @@ START SLAVE;
|
||||
--echo ================ BUG#22864 ================
|
||||
connection slave;
|
||||
STOP SLAVE;
|
||||
--source include/wait_for_slave_to_stop.inc
|
||||
RESET SLAVE;
|
||||
connection master;
|
||||
RESET MASTER;
|
||||
connection slave;
|
||||
START SLAVE;
|
||||
--source include/wait_for_slave_to_start.inc
|
||||
connection master;
|
||||
SET AUTOCOMMIT=0;
|
||||
CREATE TABLE t1 (a INT);
|
||||
@ -190,6 +196,7 @@ sync_slave_with_master;
|
||||
# Some tests with temporary tables
|
||||
connection slave;
|
||||
STOP SLAVE;
|
||||
--source include/wait_for_slave_to_stop.inc
|
||||
RESET SLAVE;
|
||||
|
||||
connection master;
|
||||
@ -197,6 +204,7 @@ RESET MASTER;
|
||||
|
||||
connection slave;
|
||||
START SLAVE;
|
||||
--source include/wait_for_slave_to_start.inc
|
||||
|
||||
connection master;
|
||||
CREATE TABLE t1 (a INT);
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user