summaryrefslogtreecommitdiffstats
path: root/mysql
diff options
context:
space:
mode:
Diffstat (limited to 'mysql')
-rwxr-xr-xmysql/mysql_backup.sh12
1 files changed, 9 insertions, 3 deletions
diff --git a/mysql/mysql_backup.sh b/mysql/mysql_backup.sh
index 689fb70..205d4d9 100755
--- a/mysql/mysql_backup.sh
+++ b/mysql/mysql_backup.sh
@@ -43,7 +43,9 @@ echo | _log
# flush logs on master
# get master
-MYSQL_MASTER=$(sed -n '4p' /var/lib/mysql/master.info)
+MYSQL_MASTER=$(mysql -h${MYSQL_SERVER} -u${MYSQL_USER} \
+ -p${MYSQL_PASSWORD} <<< "SHOW SLAVE STATUS\G" | \
+ grep "^ *Master_Host:" | awk '{ print $2 }')
echo "flush logs;" | mysql -h${MYSQL_MASTER} -u${MYSQL_USER} \
-p${MYSQL_PASSWORD}
@@ -62,8 +64,12 @@ MYSQL_DATABASES=$(mysqlshow -h${MYSQL_SERVER} -u${MYSQL_USER} \
'1d')
# get binlog position
-MYSQL_BINLOG=$(sed -n '2p;3p' /var/lib/mysql/master.info | while read i
- do echo -n "-$i" ; done)
+MYSQL_BINLOG="-"$(mysql -h${MYSQL_SERVER} -u${MYSQL_USER} \
+ -p${MYSQL_PASSWORD} <<< "SHOW SLAVE STATUS\G" | \
+ grep "^ *Master_Log_File:" | awk '{ print $2 }')"-"$( \
+ mysql -h${MYSQL_SERVER} -u${MYSQL_USER} \
+ -p${MYSQL_PASSWORD} <<< "SHOW SLAVE STATUS\G" | \
+ grep "^ *Read_Master_Log_Pos:" | awk '{ print $2 }')
# backup all databases to file
for db in ${MYSQL_DATABASES}