JGD 0 Denunciar post Postado Abril 25, 2014 Olá pessoa, Gostaria da opinião de vocês sobre como trabalhar com dois banco de dados. Digo: O sistema é Php, irá roda no provedor e também em uma intranet (localhost) do cliente... Ocorre que preciso atualizar as informações do DB On-line para o Off-line; pelo menos um vez por dia. O que vocês acham melhor: a) Criar rotina para ler tabelas por tabela do DB On-Line e ir fazendo update (nas mesma tabelas) no DB Off-Line. b) Baixar o banco todo do On-Line para o Off-line. Detalhe complicador: Tal sistema usa banco de dados MySql e MS Access ao mesmo tempo. - Para Ms Access creio que de para pegar o banco todo e fazer download... - Para MySql ?? Nunca precisei fazer algo assim... Nem sei se dá pra pegar o banco todo... Caso positivo. Como? Por isso a dúvida. Agradeço a eventuais opiniões. Compartilhar este post Link para o post Compartilhar em outros sites
Anderson Danilo 43 Denunciar post Postado Abril 26, 2014 No mysql é possível exportar o banco de dados para um arquivo SQL com o comando https://dev.mysql.com/doc/refman/5.1/en/mysqldump.html Compartilhar este post Link para o post Compartilhar em outros sites
Diego Arent 19 Denunciar post Postado Abril 26, 2014 Caso via PHP (servidor) você também consiga acessar o banco offline, sugiro que faça um script de migração dos dados do MySQL para o MS Access e agende a execução deste script no servidor diariamente (ou no intervalo que precisar). No script PHP você abre as duas conexões e pra cada tabela você faz: SELECT no MYSQL INSERT ou UPDATE no MS ACCESS foreach(tabeladomysql): $query = 'SELECT DADOS DA TABELA DO MYSQL'; while(dados na tabela do mysql): // INSERT NA MESMA TABELA NO MS ACCESS endwhile; endforeach; O banco off é alterado ou é apenas para visualização? Se o banco off não for modificado: - você pode esvaziar a tabela do ms access antes de começar a migração e inserir todos os registros do mysql Se o banco off também for modificado: - você terá que bater alguma chave (que não os auto_increments) para saber se deve copiar ou não tal linha Fazendo essa rotina acima e agendando, evita trabalho manual no futuro. Se você quiser fazer isso manualmente, encontrei uns dois softwares que aparentemente fazem isso (não testei): http://convertdb.com/access/mysql http://www.bullzip.com/products/a2m/info.php Material para leitura para ajudar na migração: http://ftp.nchu.edu.tw/MySQL/tech-resources/articles/active-grid.html Compartilhar este post Link para o post Compartilhar em outros sites
JGD 0 Denunciar post Postado Abril 26, 2014 No mysql é possível exportar o banco de dados para um arquivo SQL com o comando https://dev.mysql.com/doc/refman/5.1/en/mysqldump.html Andersondanilo, obrigado por opinar... Mais estes comandos são mais focados para console (não sei bem se é assim a expressão)... Via PHP, não rodarão em servidores compartilhados... Pois precisaram de previlégios,permissões,etc. Nas hospedagens comuns, tipo Uolhost e Locaweb... Creio que não funcionarão. Pesquisando(antes) achei alguns exepomplos de backups... Teste não rodou... Algume teria algum exemplo que faça o backup MySQL via codigo PHP considerando as limitações de um servidor compartilhado? Caso via PHP (servidor) você também consiga acessar o banco offline, sugiro que faça um script de migração dos dados do MySQL para o MS Access e agende a execução deste script no servidor diariamente (ou no intervalo que precisar). No script PHP você abre as duas conexões e pra cada tabela você faz: SELECT no MYSQL INSERT ou UPDATE no MS ACCESS foreach(tabeladomysql): $query = 'SELECT DADOS DA TABELA DO MYSQL'; while(dados na tabela do mysql): // INSERT NA MESMA TABELA NO MS ACCESS endwhile; endforeach; O banco off é alterado ou é apenas para visualização? Se o banco off não for modificado: - você pode esvaziar a tabela do ms access antes de começar a migração e inserir todos os registros do mysql Se o banco off também for modificado: - você terá que bater alguma chave (que não os auto_increments) para saber se deve copiar ou não tal linha Fazendo essa rotina acima e agendando, evita trabalho manual no futuro. Se você quiser fazer isso manualmente, encontrei uns dois softwares que aparentemente fazem isso (não testei): http://convertdb.com/access/mysql http://www.bullzip.com/products/a2m/info.php Material para leitura para ajudar na migração: http://ftp.nchu.edu.tw/MySQL/tech-resources/articles/active-grid.html Diego, obrigado por opinar. Estou mais inclinado a realmente pensar em criar rotinas para ler um banco e atualizar o outro (estrutura de talelas iguas)... Voce falou um item importante os campos auto_increments... Muito obrigado. Vou pensar em como tratar isso. E também, como saber em termos de logica e/ou código... Quando um banco é mais atual que o outro? Por verificação de data, algum tipo de log??? Compartilhar este post Link para o post Compartilhar em outros sites
angelorubin 142 Denunciar post Postado Abril 26, 2014 Veja se acha algo que lhe ajude aqui - http://www.phpclasses.org/search.html?words=backup+mysql&x=5&y=9&go_search=1 Compartilhar este post Link para o post Compartilhar em outros sites