phpBB Italia chiude!
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.

Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.

Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.

Grazie ancora,
Carlo - Amministratore di phpBB Italia

Perdita parziale di dati dal DB

Supporto per phpBB 3.0.x.
Rispondi
jesealex
Utente
Utente
Messaggi: 7
Iscritto il: 15/03/2014, 15:41
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.2.17
Database: MySQL(i) 5.6.15-log

Perdita parziale di dati dal DB

Messaggio da jesealex » 16/03/2014, 23:45

Salve a tutti!
Ho un problema per quanto riguarda la perdita parziale dei dati del DB di un mio amico, in pratica lui aveva effettuato un backup tramite phpbb, che purtroppo a quanto pare non è andato a buon fine nella fase di creazione del file .sql, nonostante non si sia presententato alcun tipo di errore. Ha usato quel file per ripristinare i dati sul forum in seguito a un errore dovuto ad un aggiornamento che stava facendo ed
ora ci ritroviamo a dover "sistemare" il suo DB con quei pochi dati che sono rimasti salvi.. i problemi che riscontra, sono:

- Mancanza del primo post su alcuni topic
- Alcuni post andati persi (sopprattutto quelli più recenti)
- Pagine dei topics che non coincidono col numero di post rimasti per quel topic

Rovistando fra i suoi files, ho trovato altri file di backup sql, probabilmente creati anni fa dal vecchio Admin del forum..ora la mia idea è quella di usare tutti questi file di backup per salvare più post possibili, poichè diciamo tutte le altre tabelle sono salve..

Ho fatto delle prove e avevo pensato che per risolvere la questione di primi post, potevo creare una pagina in php, che mi ricreasse automaticamente il primo post, dove manca, mandando un messaggio di default per tutti, dove viene segnalato l'errore e si avvisa agli utenti che a causa di una perdita di dati, quel post non è più disponibile e quindi reinvitarli a riscriverlo...

con questo codice invece ho messo a confronto due database provati in locale .. in pratica ho preso l'ultimo backup e uno precedente che avevo trovato tra i suoi files confrontando le tabelle phpbb_posts e vedendo quanti post riuscirei a salvare:

Codice: Seleziona tutto


$db = @mysql_connect ("localhost","root","") or die("impossibile leggere db errore".mysql_error());
mysql_select_db ("post31112011",$db);

$result = mysql_query ("SELECT * FROM phpbb_posts",$db);

while($records = mysql_fetch_array($result))
{
               $array_posts_id[]=$records['post_id'];
}
#print_r($array_posts_id);

mysql_close ($db);

$dba = @mysql_connect ("localhost","root","") or die("impossibile leggere db errore".mysql_error());
mysql_select_db ("prova",$dba);
$post_trovati=0;
$post_non_trovati=0;
for($a=0;$a<count($array_posts_id);$a++)
{
               $query = mysql_query("SELECT * FROM phpbb_posts WHERE post_id = ".$array_posts_id[$a]);
               if(mysql_num_rows($query)>0)
               {
                   $post_trovati++;
               }
               else
               {
                   $post_non_trovati++;
               }
}
echo "Ho trovato ".$post_trovati." posts già presenti<br>";
echo "Ho trovato ".$post_non_trovati." posts non presenti";
per quanto riguarda invece le pagine che non coincidono col numero di post rimasti per quel topic, ho visto che bisognerebbe ricontare i post che hanno lo stesso topic_id nella tabella phpbb_posts e modificare con i nuovi valori nella tabella phpbb_topics le colonne topic_replies e topic_replies_real , anche se devo dire che non ho ben capito che differenza ci sia tra queste due colonne..

le idee per sistemare al meglio, credo di averle.. ora devo solo metterle in pratica... m'interesserebbe sapere se magari esiste qualche script che faccia già tutto quello di cui ho bisogno, ci farebbe sicuramente risparmiare parecchio tempo, in alternativa, avrei bisogno di altre idee... voi che dite??

Avatar utente
Barrnet
Leader Moderatori
Leader Moderatori
Messaggi: 3124
Iscritto il: 04/07/2010, 23:31
Sesso: Maschio
Versione: 3.0.10
Server: UNIX/Linux
PHP: 5.3.10
Database: MySQL 5.1.61-community-log
Contatta:

Re: Perdita parziale di dati dal DB

Messaggio da Barrnet » 17/03/2014, 9:48

Non so quanto possa essere affidabile una soluzione del genere, considera che tu puoi al massimo curare i sintomi che noti ad occhio, ma nel profondo probabilmente del database rimarrà comunque danneggiato.
Anche a costo di usare un backup vecchio di giorni vi conviene chiedere all'hosting se hanno un backup, spesso anche se non è nel piano di hosting ne offrono comunque uno a livello settimanale di cortesia.
La differenza tra topic_Replies e topic_replies_real dovrebbe considerare, non ne sono sicuro, se ci sono post che sono stati spostati o cancellati.

jesealex
Utente
Utente
Messaggi: 7
Iscritto il: 15/03/2014, 15:41
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.2.17
Database: MySQL(i) 5.6.15-log

Re: Perdita parziale di dati dal DB

Messaggio da jesealex » 29/03/2014, 20:53

abbiamo risolto caricando il file di backup più completo e ho creato uno script in php che mi ricrea i primi post mancanti.. dopo abbiamo fatto la risincronizzazione di topic e post.. ora il forum è di nuovo stabile.. abbiamo perso qualche topic e un po' di post, ma si può sopravvivere.. ;)

Segnalo
Utente
Utente
Messaggi: 244
Iscritto il: 08/12/2013, 18:40
Sesso: Maschio
Versione: 3.0.12
Server: Windows
PHP: 5.3
Contatta:

Re: Perdita parziale di dati dal DB

Messaggio da Segnalo » 30/03/2014, 10:38

Fai una verifica totale del forum per essere certo che non sia danneggiato

jesealex
Utente
Utente
Messaggi: 7
Iscritto il: 15/03/2014, 15:41
Sesso: Maschio
Versione: 3.0.12
Server: UNIX/Linux
PHP: 5.2.17
Database: MySQL(i) 5.6.15-log

Re: Perdita parziale di dati dal DB

Messaggio da jesealex » 30/03/2014, 23:38

una verifica totale in che senso?? controllo topic per topic, oppure c'è un altro modo??

Rispondi

Torna a “[3.0.x] Forum di Supporto”

Chi c’è in linea

Visitano il forum: Nessuno e 79 ospiti