⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rpl_chain_temp_table.test

📁 这是linux下运行的mysql软件包,可用于linux 下安装 php + mysql + apach 的网络配置
💻 TEST
字号:
 # This test makes some assumptions about values of thread ids, which should be# true if the servers have been restarted for this test. So we want to# stop/restart servers. Note that if assumptions are wrong, the test will not# fail; it will just fail to test the error-prone scenario.# Using the manager is the only way to have more than one slave server.# So you must run this test with --manager.require_manager;server_stop master;server_start master;server_stop slave;server_start slave;# no need for slave_sec (no assumptions on thread ids for this server).source include/master-slave.inc;connect (slave_sec,localhost,root,,test,0,slave.sock-1); connection master;save_master_pos;connection slave;sync_with_master;reset master;save_master_pos;connection slave_sec;eval change master to master_host='127.0.0.1',master_port=$SLAVE_MYPORT, master_user='root';start slave;sync_with_master;# :P now we have a chain ready-to-test.connection master;create temporary table t1 (a int);save_master_pos;connection slave;sync_with_master;connection master1;create temporary table t1 (a int);save_master_pos;connection slave;sync_with_master;save_master_pos;# First test:connection slave_sec;# Before BUG#1686 ("If 2 master threads with same-name temp table, slave makes# bad binlog") was fixed, sync_with_master failedsync_with_master;show status like 'slave_open_temp_tables';# 'master' and 'master1' usually have thread id 2-3 or 3-4.# 'slave' and 'slave1' usually have thread id 2-3.connection slave;create temporary table t1 (a int);connection slave1;create temporary table t1 (a int);# So it's likely that in the binlog of slave we get# server_id=of_master thread_id=3 create temp...# server_id=of_slave  thread_id=3 create temp...# which would confuse slave-sec unless slave-sec uses server id to distinguish# between temp tables (here thread id is obviously not enough to distinguish).save_master_pos;# Second test:connection slave_sec;# If we did not use the server id to distinguish between temp tables,# sync_with_master would failsync_with_master;show status like 'slave_open_temp_tables';# Third test (BUG#1240 "slave of slave breaks when STOP SLAVE was issud on# parent slave and temp tables").stop slave;connection slave;insert into t1 values(1);create table t2 as select * from t1;save_master_pos;connection slave_sec;start slave;sync_with_master;show status like 'slave_open_temp_tables';select * from t2;# clean upconnection slave;drop table t2;save_master_pos;connection slave_sec;sync_with_master;# On purpose, we don't delete the temporary tables explicitely.# So temp tables remain on slave (remember they are not deleted when the slave# SQL thread terminates). If you run this test with # --valgrind --valgrind-options=--show-reachable=yes # you will see if they get cleaned up at slave's shutdown (that is, if the# memory they use is freed (it should) by mysqld before it terminates).# If they wouldn't be cleaned up, you would see some "still reachable" blocks in# Valgrind.# End of 4.1 tests

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -