mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 13:32:33 +01:00
ed1696f6b9
we store 7 bytes (1 + 2*3) in every Query_log_event. In the future if users want binlog optimized for small size and less safe, we could add --binlog-no-charset (and binlog-no-sql-mode etc): charset info is something by design optional (even if for now we don't offer possibility to disable it): it's not a binlog format change. We try to reduce the number of get_charset() calls in the slave SQL thread to a minimum by caching the charset read from the previous event (which will often be equal to the one of the current event). We don't use SET ONE_SHOT for charset-aware repl (we still do for timezones, will be fixed later). No more errors if one changes the global value of charset vars on master or slave (as we log charset info in all Query_log_event). Not fixing Load_log_event as it will be rewritten soon by Dmitri. Testing how mysqlbinlog behaves in rpl_charset.test. mysqlbinlog needs to know where charset file is (to be able to convert a charset number found in binlog (e.g. in User_var_log_event) to a charset name); mysql-test-run needs to pass the correct value for this option to mysqlbinlog. Many result udpates (adding charset info into every event shifts log_pos in SHOW BINLOG EVENTS). Roughly the same job is to be done for timezones :)
103 lines
5.3 KiB
Text
103 lines
5.3 KiB
Text
stop slave;
|
|
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
|
reset master;
|
|
reset slave;
|
|
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
|
|
start slave;
|
|
stop slave;
|
|
reset master;
|
|
reset slave;
|
|
reset master;
|
|
create table t1(n int not null auto_increment primary key);
|
|
insert into t1 values (NULL);
|
|
drop table t1;
|
|
create table t1 (word char(20) not null);
|
|
load data infile '../../std_data/words.dat' into table t1 ignore 1 lines;
|
|
select count(*) from t1;
|
|
count(*)
|
|
69
|
|
drop table t1;
|
|
show binlog events;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
master-bin.000001 4 Format_desc 1 95 Server ver: VERSION, Binlog ver: 4
|
|
master-bin.000001 95 Query 1 217 use `test`; create table t1(n int not null auto_increment primary key)
|
|
master-bin.000001 217 Intvar 1 245 INSERT_ID=1
|
|
master-bin.000001 245 Query 1 337 use `test`; insert into t1 values (NULL)
|
|
master-bin.000001 337 Query 1 414 use `test`; drop table t1
|
|
master-bin.000001 414 Query 1 518 use `test`; create table t1 (word char(20) not null)
|
|
master-bin.000001 518 Create_file 1 1188 db=test;table=t1;file_id=1;block_len=581
|
|
master-bin.000001 1188 Exec_load 1 1211 ;file_id=1
|
|
master-bin.000001 1211 Query 1 1288 use `test`; drop table t1
|
|
show binlog events from 95 limit 1;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
master-bin.000001 95 Query 1 217 use `test`; create table t1(n int not null auto_increment primary key)
|
|
show binlog events from 95 limit 2;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
master-bin.000001 95 Query 1 217 use `test`; create table t1(n int not null auto_increment primary key)
|
|
master-bin.000001 217 Intvar 1 245 INSERT_ID=1
|
|
show binlog events from 95 limit 2,1;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
master-bin.000001 245 Query 1 337 use `test`; insert into t1 values (NULL)
|
|
flush logs;
|
|
create table t5 (a int);
|
|
drop table t5;
|
|
start slave;
|
|
flush logs;
|
|
stop slave;
|
|
create table t1 (n int);
|
|
insert into t1 values (1);
|
|
drop table t1;
|
|
show binlog events;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
master-bin.000001 4 Format_desc 1 95 Server ver: VERSION, Binlog ver: 4
|
|
master-bin.000001 95 Query 1 217 use `test`; create table t1(n int not null auto_increment primary key)
|
|
master-bin.000001 217 Intvar 1 245 INSERT_ID=1
|
|
master-bin.000001 245 Query 1 337 use `test`; insert into t1 values (NULL)
|
|
master-bin.000001 337 Query 1 414 use `test`; drop table t1
|
|
master-bin.000001 414 Query 1 518 use `test`; create table t1 (word char(20) not null)
|
|
master-bin.000001 518 Create_file 1 1188 db=test;table=t1;file_id=1;block_len=581
|
|
master-bin.000001 1188 Exec_load 1 1211 ;file_id=1
|
|
master-bin.000001 1211 Query 1 1288 use `test`; drop table t1
|
|
master-bin.000001 1288 Rotate 1 1332 master-bin.000002;pos=4
|
|
show binlog events in 'master-bin.000002';
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
master-bin.000002 4 Format_desc 1 95 Server ver: VERSION, Binlog ver: 4
|
|
master-bin.000002 95 Query 1 182 use `test`; create table t5 (a int)
|
|
master-bin.000002 182 Query 1 259 use `test`; drop table t5
|
|
master-bin.000002 259 Query 1 346 use `test`; create table t1 (n int)
|
|
master-bin.000002 346 Query 1 435 use `test`; insert into t1 values (1)
|
|
master-bin.000002 435 Query 1 512 use `test`; drop table t1
|
|
show binary logs;
|
|
Log_name
|
|
master-bin.000001
|
|
master-bin.000002
|
|
start slave;
|
|
show binary logs;
|
|
Log_name
|
|
slave-bin.000001
|
|
slave-bin.000002
|
|
show binlog events in 'slave-bin.000001' from 4;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
slave-bin.000001 4 Format_desc 2 95 Server ver: VERSION, Binlog ver: 4
|
|
slave-bin.000001 95 Query 1 217 use `test`; create table t1(n int not null auto_increment primary key)
|
|
slave-bin.000001 217 Intvar 1 245 INSERT_ID=1
|
|
slave-bin.000001 245 Query 1 337 use `test`; insert into t1 values (NULL)
|
|
slave-bin.000001 337 Query 1 414 use `test`; drop table t1
|
|
slave-bin.000001 414 Query 1 518 use `test`; create table t1 (word char(20) not null)
|
|
slave-bin.000001 518 Create_file 1 1197 db=test;table=t1;file_id=1;block_len=581
|
|
slave-bin.000001 1197 Exec_load 1 1220 ;file_id=1
|
|
slave-bin.000001 1220 Query 1 1297 use `test`; drop table t1
|
|
slave-bin.000001 1297 Query 1 1384 use `test`; create table t5 (a int)
|
|
slave-bin.000001 1384 Query 1 1461 use `test`; drop table t5
|
|
slave-bin.000001 1461 Rotate 2 1504 slave-bin.000002;pos=4
|
|
show binlog events in 'slave-bin.000002' from 4;
|
|
Log_name Pos Event_type Server_id End_log_pos Info
|
|
slave-bin.000002 4 Format_desc 2 95 Server ver: VERSION, Binlog ver: 4
|
|
slave-bin.000002 95 Query 1 182 use `test`; create table t1 (n int)
|
|
slave-bin.000002 182 Query 1 271 use `test`; insert into t1 values (1)
|
|
slave-bin.000002 271 Query 1 348 use `test`; drop table t1
|
|
show slave status;
|
|
Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File Read_Master_Log_Pos Relay_Log_File Relay_Log_Pos Relay_Master_Log_File Slave_IO_Running Slave_SQL_Running Replicate_Do_DB Replicate_Ignore_DB Replicate_Do_Table Replicate_Ignore_Table Replicate_Wild_Do_Table Replicate_Wild_Ignore_Table Last_Errno Last_Error Skip_Counter Exec_Master_Log_Pos Relay_Log_Space Until_Condition Until_Log_File Until_Log_Pos Master_SSL_Allowed Master_SSL_CA_File Master_SSL_CA_Path Master_SSL_Cert Master_SSL_Cipher Master_SSL_Key Seconds_Behind_Master
|
|
# 127.0.0.1 root MASTER_PORT 1 master-bin.000002 512 # # master-bin.000002 Yes Yes 0 0 512 # None 0 No #
|
|
show binlog events in 'slave-bin.000005' from 4;
|
|
ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Could not find target log
|