1# 2# This is an auxiliar script that sets the binlog-row-image 3# on a set of connections. These connections are passed as 4# a parameter to this script. Its format is the following: 5# 6# <conid,value,Y_or_N>:[<conid,value,Y_or_N>:...] 7# 8# In detail: 9# 10# conid -- connection id (eg, master) 11# value -- binlog_row_image value to set (eg, FULL) 12# Y_or_N -- Issue stop and start slave (eg, Y) 13# 14# Sample usage: 15# 16# -- let $row_img_set=master:FULL:N,slave:MINIMAL:Y 17# -- source include/rpl_row_img_set.inc 18# 19# Notes: 20# 21# 1. This script saves and restores the original connection that was 22# in use at the time it was included. 23 24-- let $old_conn= $CURRENT_CONNECTION 25 26while (`SELECT HEX('$row_img_set') != HEX('')`) 27{ 28 29 -- let $tuple= `SELECT SUBSTRING_INDEX('$row_img_set', ',', 1)` 30 31 -- let $conn= `SELECT SUBSTRING_INDEX('$tuple', ':', 1)` 32 -- let $rimg= `SELECT SUBSTRING_INDEX(LTRIM(SUBSTRING('$tuple', LENGTH('$conn') + 2)), ':', 1)` 33 34 -- let $is_slave_restart= `SELECT LTRIM(SUBSTRING('$tuple', LENGTH('$conn') + LENGTH('$rimg')+ 3))` 35 36 -- echo CON: '$conn', IMG: '$rimg', RESTART SLAVE: '$is_slave_restart' 37 38 -- connection $conn 39 -- eval SET SESSION binlog_row_image= '$rimg' 40 -- eval SET GLOBAL binlog_row_image= '$rimg' 41 42 if ($is_slave_restart == Y) 43 { 44 -- source include/stop_slave.inc 45 -- source include/start_slave.inc 46 } 47 48 FLUSH TABLES; 49 SHOW VARIABLES LIKE 'binlog_row_image'; 50 51 -- let $row_img_set= `SELECT LTRIM(SUBSTRING('$row_img_set', LENGTH('$tuple') + 2 ))` 52 53} 54 55-- connection $old_conn 56