1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-12-20 01:42:27 +03:00
Files
mariadb-columnstore-engine/oam/install_scripts/slave-rep-columnstore.sh.in
Andrew Hutchings d432a0ac7a MCOL-3553 Use a rep password MENT will accept
MariaDB Enterprise won't accept our canned replication passed. This
patch updates it to a stronger one it will accept.
2019-11-15 16:59:03 +00:00

112 lines
2.7 KiB
Bash

#!/bin/bash
#
# $Id$
#
# generic MariaDB Columnstore Slave Replication script.
#
# Notes: This script gets run by ProcMon during installs and upgrades:
# check log for error
checkForError() {
grep ERROR ${tmpdir}/slave-rep-status.log > ${tmpdir}/error.check
if [ `cat ${tmpdir}/error.check | wc -c` -ne 0 ]; then
echo "ERROR: check log file: ${tmpdir}/slave-rep-status.log"
rm -f ${tmpdir}/error.check
exit 1
fi
rm -f ${tmpdir}/error.check
}
pwprompt=
for arg in "$@"; do
if [ `expr -- "$arg" : '--masteripaddr='` -eq 15 ]; then
masteripaddr="`echo $arg | awk -F= '{print $2}'`"
elif [ `expr -- "$arg" : '--masterlogfile='` -eq 16 ]; then
masterlogfile="`echo $arg | awk -F= '{print $2}'`"
elif [ `expr -- "$arg" : '--masterlogpos='` -eq 15 ]; then
masterlogpos="`echo $arg | awk -F= '{print $2}'`"
elif [ `expr -- "$arg" : '--port='` -eq 7 ]; then
port="`echo $arg | awk -F= '{print $2}'`"
elif [ $(expr -- "$arg" : '--tmpdir=') -eq 9 ]; then
tmpdir="$(echo $arg | awk -F= '{print $2}')"
fi
done
. @ENGINE_SUPPORTDIR@/columnstore_functions
repUser="idbrep"
password="C0lumnStore!"
>${tmpdir}/slave-rep-status.log
#
# Run stop slave command
#
echo "Run stop slave command" >>${tmpdir}/slave-rep-status.log
cat >${tmpdir}/idb_slave-rep.sql <<EOD
stop slave;
EOD
cat ${tmpdir}/idb_slave-rep.sql >>${tmpdir}/slave-rep-status.log
mysql \
--user=root \
calpontsys <${tmpdir}/idb_slave-rep.sql >>${tmpdir}/slave-rep-status.log 2>&1
checkForError
#
# Run Change Master Command
#
echo "Run Change Master Command" >>${tmpdir}/slave-rep-status.log
cat >${tmpdir}/idb_slave-rep.sql <<EOD
CHANGE MASTER TO
MASTER_HOST='$masteripaddr',
MASTER_USER='$repUser',
MASTER_PASSWORD='$password',
MASTER_PORT=$port,
MASTER_LOG_FILE='$masterlogfile',
MASTER_LOG_POS=$masterlogpos;
EOD
cat ${tmpdir}/idb_slave-rep.sql >>${tmpdir}/slave-rep-status.log
mysql \
--user=root \
calpontsys <${tmpdir}/idb_slave-rep.sql >>${tmpdir}/slave-rep-status.log 2>&1
checkForError
#
# Run start slave command
#
echo "Run start slave command" >>${tmpdir}/slave-rep-status.log
cat >${tmpdir}/idb_slave-rep.sql <<EOD
start slave;
EOD
cat ${tmpdir}/idb_slave-rep.sql >>${tmpdir}/slave-rep-status.log
mysql \
--user=root \
calpontsys <${tmpdir}/idb_slave-rep.sql >>${tmpdir}/slave-rep-status.log 2>&1
checkForError
#
# Run SHOW SLAVE STATUS
#
echo "Run SHOW SLAVE STATUS to node log" >>${tmpdir}/slave-rep-status.log
cat >${tmpdir}/idb_slave-rep.sql <<EOD
SHOW SLAVE STATUS\G
EOD
cat ${tmpdir}/idb_slave-rep.sql >>${tmpdir}/slave-rep-status.log
mysql \
--user=root \
calpontsys <${tmpdir}/idb_slave-rep.sql >>${tmpdir}/slave-rep-status.log 2>&1
checkForError
#alls good, 'OK' for success
echo "OK"
exit 0