• User Newbie

    Automatizzare import dumpfile su mysql con php

    Ciao ho appena scoperto questo forum... e passiamo subito all'azione! 😉

    Ho la necessità di importare almeno una volta al giorno un dumpfile (file sql) di un db MySql che gira in locale su un db in remoto. Una sincronizzazione da locale a remoto praticamente.

    Con Php (è l'unico linguaggio con cui riesco a smanettare) come posso fare, che sintassi utilizzare e che tipo di automazione posso creare?

    Grazie mille!

    Giuseppe


  • Super User

    ciao e benvenuto.

    non ho capito se devi automatizzare il backup o il download del backup già fatto.

    in ogni caso se devi scaricare il file ed hai l'accesso ftp puoi usare le funzioni
    [url=http://it.php.net/manual/it/ref.ftp.php]ftp per portarti in locale il file.

    le funzioni [url=http://it.php.net/manual/it/function.readfile.php]readfile
    per leggere il file e poi esegui le query che hai recuperato.


  • User

    Dimentica il PHP e salvati molti mal di testa.
    C'e' qualcun'altro che ha gia' pensato a quello che devi fare tu e ci sono due soluzioni banali

    a) verifica se la tua configurazione consente la replicazione master-slave nativa di MySQL http://dev.mysql.com/doc/refman/4.1/en/replication.html

    b) metti in crontab questo comando:
    mysqldump -u_USER_SOURCE -pPASS_SOURCE -hHOST_SOURCE DATABASE_SOURCE | mysql -uUSER_DEST -pPASS_DEST -hHOST_DEST DATABASE_DEST


  • User Newbie

    @nessuno said:

    b) metti in crontab questo comando:
    mysqldump -u_USER_SOURCE -pPASS_SOURCE -hHOST_SOURCE DATABASE_SOURCE | mysql -uUSER_DEST -pPASS_DEST -hHOST_DEST DATABASE_DEST

    il problema è che in locale non ho il db Mysql ma solo il file dump.sql.

    In locale purtroppo ho un database access che passo ogni volta in mysql tramite un software che mi crea un file .sql per fare il dump. E in remoto purtroppo posso utilizzare solo php/Mysql.

    Vorrei automattizare l'import del file sql su mysql remoto almeno un paio di volte al giorno.

    Si può anche fare tramite cron job?