Páginas

segunda-feira, 8 de abril de 2013

Script para importação inter MySQL Remoto

#!/bin/bash
SRC_HOST='192.168.100.25'
SRC_USER='root'
SRC_PWD='SeNhA'
SRC_DUMP_CMD="--insert-ignore"
DST_HOST='127.0.0.1'
DST_USER='root'
DST_PWD='SeNhA'
EXCLUDE_DB=", 'mysql', 'mysql_old'";
QUERY_MAKE_LIST="select TABLE_SCHEMA,
TABLE_NAME
from information_schema.tables
where table_schema not in
('information_schema', 'performance_schema' ${EXCLUDE_DB});
"
mysql -u $SRC_USER --password="${SRC_PWD}" -h $SRC_HOST -N --batch --execute="${QUERY_MAKE_LIST}" > /tmp/backup_list.txt
mysql -u $SRC_USER --password="${SRC_PWD}" -h $SRC_HOST -N --batch --execute="show master status;" > /tmp/CHANGE_MASTER.inf
while read line
do
db_name=$(echo $line |awk '{ print $1 }');
echo "(RE)CRIANDO NO DESTINO $DST_HOST o BANCO $db_name"
mysql -u $DST_USER --password="${DST_PWD}" -h $DST_HOST --execute="SET foreign_key_checks = 0; DROP DATABASE IF EXISTS ${db_name}; CREATE DATABASE ${db_name}"
done < /tmp/backup_list.txt
while read line
do
db_name=$(echo $line |awk '{ print $1 }');
tb_name=$(echo $line |awk '{ print $2 }');
echo "(RE)CRIANDO NO DESTINO $DST_HOST o BANCO $db_name"
mysql -u $DST_USER --password="${DST_PWD}" -h $DST_HOST --execute="SET foreign_key_checks = 0; DROP DATABASE IF EXISTS ${db_name}; CREATE DATABASE ${db_name}"
echo "Exportando BANCO ${db_name}.${tb_name}"
mysqldump -u $SRC_USER --password="${SRC_PWD}" -h $SRC_HOST $SRC_DUMP_CMD $db_name $tb_name | mysql -u $DST_USER --password="${DST_PWD}" -h $DST_HOST ${db_name}
done < /tmp/backup_list.txt

Nenhum comentário: