Supporto » Installazione e Aggiornamento » Sovrascrittura data base in phpmyadmin

  • Risolto gretabeneforti

    (@gretabeneforti)


    Per aggiornare un sito ne ho fatto due copie, una copia è il vecchio sito che si trova nel root ed è quella pubblicamente accessibile; l’altra copia è il nuovo sito in costruzione, che si trova in una sottocartella.

    nella sottocartella ho trasferito i file via ftp
    ho creato un nuovo database, e dal lato amministrazione ho aggiornato WordPress, temi e plugin (non ancora riattivati)
    a questo punto il sito si vede ma è vuoto perché mancano le tabelle del database originale

    ho quindi importato il database del vecchio sito nel nuovo database
    ma sbaglio qualcosa perché, dopo l’importazione, mi da un messaggio d’errore relativo al dumping data per la tabella wp_options.
    se visito il nuovo sito ottengo infatti “pagina non trovata”, nella cornice del vecchio sito.

    adesso ho ripristinato il vecchio database che ha le indicazioni corrette perché il sito si veda ma vorrei importare il nuovo database.
    Come importare un database, sostituirlo o sovrascriverlo ad uno esistente e fare in modo che il sito funzioni?

    Grazie per la gentilezza
    Greta

Stai vedendo 5 repliche - dal 1 al 5 (di 5 totali)
  • Ciao Greta,
    prima di tutto fai una copia di backup del sito in produzione.
    Poi se chiamiamo B la copia del sito nella sottocartella, allora dopo aver importato il file .sql nel nuovo database devi modificare il file wp-config.php di B in modo che punti a questo nuovo database. Ti conviene partire da un database vuoto.
    Dopo l’importazione devi eseguire una procedura che modifica tutti i link contenuti nel database di B in modo che puntino all’url di B, che sarà del tipo http://sitoinproduzione.com/sottocartella.
    Questa procedura puoi eseguirla in diversi modi, un modo valido è quello di usare lo script che trovi al seguente indirizzo:
    https://interconnectit.com/products/search-and-replace-for-wordpress-databases/
    In ogni caso la procedura completa per questo tipo di operazioni è spiegata a questo link:
    https://codex.wordpress.org/Moving_WordPress
    Facci sapere se così risolvi.
    Giancarlo

    gretabeneforti

    (@gretabeneforti)

    Buongiorno Giancarlo e grazie,

    ho provato a seguire le tue indicazioni, ma qualcosa ancora non è perfetta,
    ho fatto il backup del sito, file e db
    ho cancellato tutte le tabelle del database nuovo di modo che fosse vuoto
    nel database B vuoto ho importato il database A del sito A (vecchio sito raggiungibile lato pubblico)
    nel file config di B ci sono il nome database, user e password del database B.
    Seguo le indicazioni del link interconnectit che mi hai mandato, scarico e estraggo Search-Replace-DB-master
    Nella sottocartella remota http://www.pulminocontadino.it/wordpress/ in cui è il sito B trasferisco la cartella Search-Replace-DB-master

    Accedo a http://www.pulminocontadino.it/wordpress/searchreplacedb.php come indaicato nella guida interconnectit, provo anche ad accedere a http://www.pulminocontadino.it/wordpress/Search-Replace-DB-master
    ho provato a rinominare il folder Search-Replace-DB-master chiamandolo “orlando”, ma in ogni caso il messaggio è “pagina non trovata”.

    Prima dell’importazione del database A nel database B potevo accedere e navigare in http://www.pulminocontadino.it/wordpress
    dopo l’importazione del database a questo indirizzo leggo “pagina non trovata”.

    Pensi che l’errore sia “solo” la mancata modifica tutti i link contenuti nel database o, da quanto scrivo, intravedi altri errori?

    Di nuovo grazie per la tua gentilezza
    Greta

    Ciao Greta,
    vedo che il sito nella sottocartella wordpress adesso funziona. Scusa, ma ieri non ho potuto risponderti. Potresti condividere qui come hai risolto, in modo che possa essere utile per qualcun altro ?
    Grazie
    Giancarlo

    gretabeneforti

    (@gretabeneforti)

    Bentrovato Giancarlo, condivido con piacere.

    Per clonare un sito ho fatto questi passaggi, in sintesi:

    1. Via ftp creare nuova cartella (nome tutto maiuscolo) con copia di tutto il sito
    2. Creare nuovo db vuoto e importare copia del vecchio
    3. Cambiare nel nuovo db le due righe nella tabella wp_option: siteurl e home
    4. Cambiare il wp_config coi dati del nuovo db 
    5. Aggiornare il file htcces del nuovo sito (a volte si aggiorna da solo)

    Se poi vuoi aggiornare la versione wp del sito puoi farlo seguendo le indicazioni della documentazione, in inglese https://codex.wordpress.org/Upgrading_WordPress_-_Extended_Instructions

    Gli errori che ho fatto sono stati:
    1. Fare una nuova installazione di wordpress e poi cancellare le tabelle e importare il vecchio db
    2. Dopo aver importato il vecchio database nel nuovo, nella tabella wp_option del nuovo database ho cambiato solo siteurl. l’errore è stato non aver cambiato home.

    Meglio se scrivo una descrizione estesa?
    Grazie per la gentilezza e buon lavoro
    Greta

    Ciao @gretabeneforti,
    non credo che una descrizione estesa sia necessaria perché in fin dei conti gran parte della procedura da te svolta è descritta anche all’interno del documento precedentemente collegato da @gmosso: https://codex.wordpress.org/Moving_WordPress

    La cosa che trovo molto particolare è il fatto che lo script PHP di Interconnect non abbia funzionato perché il sottoscritto è un grande utilizzatore di questo progetto e non gli ha mai dato problemi, anzi devo dire che lavora egregiamente bene anche per i multisite che tendenzialmente “nascondono” alcune informazioni in dati serializzati che sono impossibili da modificare andando a modificare soltanto site_url e home.

    La procedura che hai descritto per utilizzare lo script mi sembra corretta, anche io prendo l’intera cartella scaricata da Interconnect (generalmente la rinomino in wpsrdb in modo che non vada in conflitto con le URL dato che a volte può succedere) e poi mi collego direttamente con http://miourl.it/wpsrdb che nel tuo caso sarebbe stato: http://www.pulminocontadino.it/wordpress/wpsrdb/.

    Oltre a questo, il mio consiglio spassionato sarebbe quello di portare il sito in locale e lavorare là sopra e successivamente trasferire nuovamente tutto online. Lavorare sulla propria macchina permette di essere molto più veloci, utilizzare strumenti di versionamento (come Git) e non dover essere dipendenti di un server online.

    Mi accorgo che sto andando oltre, sono contento che il tuo problema si sia risolto e segno questa discussione come risolta.

    Se così non fosse non esitare a rispondere e portare avanti questa conversazione.

    A presto,
    Andrea

Stai vedendo 5 repliche - dal 1 al 5 (di 5 totali)
  • Il topic ‘Sovrascrittura data base in phpmyadmin’ è chiuso a nuove risposte.