[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [shell-script] Shell X MySQL
From: |
MrBiTs |
Subject: |
RE: [shell-script] Shell X MySQL |
Date: |
Fri, 19 Nov 2004 09:07:30 -0200 |
<QUOTE>
Preciso montar uma shell que irá fazer uma espécie de "replicação filtrada"
do banco de dados que se encontra em um servidor remoto. Para as tabelas
"mestre" isso é tranquilo. Agora, para as relacionais estou tendo certa
dificuldade em fazê-lo.
A idéia que tive foi criar uma variável que armazene o resultado de uma
SELECT com o campo da chave primária da tabela "mestre" e logo abaixo fazer
um laço for para cada um dos registros encontrados fazendo a inserção dos
relacionais (que confusão hein!).
Um exemplo:
SQLFROM="banco_origem"
SQLTX="banco_destino"
Para a tabela mestre:
mysql $SQLTX -e "INSERT IGNORE INTO tabela SELECT * FROM $SQLFROM.tabela
WHERE condição"
Para o relacional:
MESTRE=$(mysql $SQLFROM -Bs -e "SELECT campo FROM tabela WHERE
condição")
for i in $MESTRE; do
mysql $SQLTX -e "INSERT IGNORE INTO tabela SELECT * FROM $SQLFROM.tabela
WHERE campo = $i"
done
E isso para várias tabelas. Alguém teria uma idéia melhor?
</QUOTE>
Olas
Ja pensou em usar Replicacao do MySQL ?
Os conceitos voce tem aqui:
http://dev.mysql.com/doc/mysql/en/Replication.html
Com essa replicacao, o MySQL faz todo o trabalho para voce.
Voce vai ter que fazer essa "replicacao filtrada" sempre ou somente uma vez
?
- Shell X MySQL, Victor Leonardo, 2004/11/19
- RE: [shell-script] Shell X MySQL,
MrBiTs <=