Cherry escolher e importar tabelas do banco de dados mysql remoto para local?

1

Eu tenho um banco de dados mysql local chamado intranet_production , e em um servidor remoto (que eu tenho acesso root ao servidor e ao mysql) existe um banco de dados chamado 'extranet'.

Dentro do banco de dados extranet remoto, há dezenas de tabelas. Eu só preciso de cerca de 5 deles, então importar o banco de dados inteiro parece excessivo.

Eu estou procurando a melhor maneira de importar o banco de dados, uma vez que a importação está funcionando, eu configurarei como um cron job a cada 24 horas. No momento, o banco de dados remoto pode sobrescrever somente os dados locais, já que não estamos escrevendo nada nas tabelas importadas.

Portanto, como o banco de dados local é chamado intranet_production e o banco de dados remoto é chamado de extranet , qual é a melhor maneira de importar tabelas chamadas table1 , table2 e table3 como exemplo?

Eu me deparei com o seguinte método, mas acredito que tenha que ser executado no servidor remoto para exportar a tabela. Eu preciso executar o cron job no servidor local.

mysqldump db-name foo | ssh [email protected] mysql bar

Qualquer ponteiro seria apreciado!

    
por dannymcc 30.04.2012 / 14:58

2 respostas

1

Você pode usar mysqldump com hosts remotos:

mysqldump -h database.server.com -u username -pPassword dbName tblName > local.file.sql

instad de redirecionar para um arquivo, você pode apenas canalizá-lo para o mysql:

mysqldump <args> | mysql -u uname -pPwd localDbName
    
por 30.04.2012 / 15:05
2

Você pode escrever um pequeno script que faça o seguinte:

ssh [email protected] "mysqldump db table1 table2 > /tmp/your_dump.sql"
rsync [email protected]:/tmp/your_dump.sql /tmp/
mysql db < /tmp/your_dump.sql

Opcionalmente, você pode compactar o arquivo durante a transferência para links lentos.

    
por 30.04.2012 / 15:04