Vai al contenuto

Problema con l'importazione di file SQL grandi nel database


ThunderBlue

Messaggi raccomandati

Avendo creato un server locale con linux, la voglia di provare come gira un sito era tanta, così mi sono fatto una copia di tutto il forum e l'ho trasportato in locale. Il problema sorge quando tento di importare nel database tutte le tabelle, perchè superando il tempo di attesa va in time out. PhpAdmin ti dice di inserire di nuovo lo stesso file e continuare, infatti a pezzi importa tutte le tabelle, ma ecco che alla fine compare questo errore:

Errore
Query SQL: Copia


/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
Messaggio di MySQL: Documentazione

#1231 - Alla variabile 'character_set_client' non puo' essere assegato il valore 'NULL'

 

Sinceramente non ho notato problemi nell'esecuzione del sito, ma per curiosità sono andato alla ricerca di spiegazione ed un'eventuale soluzione. Pare che inserendo all'inizio del proprio file SQL il codice che vado ad inserire qui sotto, tutto dovrebbe finire con successo.

/*!40103 SET @OLD_TIME_ZONE=[spam-filter]TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=[spam-filter]UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=[spam-filter]FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=[spam-filter]SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=[spam-filter]SQL_NOTES, SQL_NOTES=0 */;

 

Come si inserisce?

 

In poche parole, aprire il proprio file SQL ed in alto si dovrebbe trovare questo codice:

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

 

Appena sotto va inserito il codice che ho inserito poco sopra in modo che diventi come segue:

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
/*!40103 SET @OLD_TIME_ZONE=[spam-filter]TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=[spam-filter]UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=[spam-filter]FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=[spam-filter]SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=[spam-filter]SQL_NOTES, SQL_NOTES=0 */;

 

In locale credo che basterebbe aumentare il tempo di attesa, ma se dovesse capitare su un sito online, sicuramente puo essere di aiuto. Aggiornerò la discussione appena avrò provato in modo di confermare se inserendo solo questo piccolo codice all'inizio del file SQL risolve effettivamente il problema.

Link al commento
Condividi su altri siti

Non mi risolve il problema perchè sicuramente ho il pc troppo antico :decayed: Ho un portatile di recupero nel quale ho messo linux, ma pur girando discretamente, il sistema rallenta quando devo importare o esportare un dump del db. Comunque cercando un pò in giro ho trovato varie possibili soluzioni e ho capito che le variabili cambiano a seconda dell'errore che viene mostrato in PhpmyAdmin, ma anche che non tutti i server sono settati in ugual maniera. Per esempio nel mio in locale il dump viene creato utilizzando questa parte di codice in alto del file SQL

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

 

mentre nella parte alla fine questo codice

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

 

Cercherò di capirci qualche cosa di più, se nel frattempo qualcuno riscontra questo tipo di problema, può prelevare questi due codici ed inserirli nel rispettivo posto eliminando tutto quello che si trova di simile, per poi provare e vedere se risolve il problema. Io per provare devo farlo online, in locale per la lentezza mi va in time out :ko2:

Link al commento
Condividi su altri siti

Dopo varie prove sono riuscito a far importare il file SQL senza errori mettendo questo codice in alto

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

 

ed eliminando del tutto questo alla fine

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

 

Non è il metodo corretto, e se non ho capito male sono variabili del mysqldump che sicuramente devo configurare. Questa soluzione può tornare utile per aggirare il problema se dovesse presentarsi in un hosting online:thumbup3:

Link al commento
Condividi su altri siti

Crea un account o accedi per lasciare un commento

Devi essere un utente registrato per poter lasciare un commento

Creare un Account

Crea un nuovo account nella nostra comunità. È facile!

Registra un nuovo account

Accedi Subito

Hai già un account? Accedi cliccando qui.

Accedi Adesso



  • Ti piace questo Forum?

    Cliccando sul pulsante sottostante, non solo aiuterai il nostro sito, ma ne potrai creare e gestire uno tutto tuo. Grazie alla nostra traduzione in italiano, configurarlo sarà molto più semplice e veloce.

    Ottieni una licenza IPS

  • Proteggi il tuo sito con hCaptcha

    Cliccando sul pulsante sottostante, non solo aiuterai il nostro sito, ma potrai ottenere gratuitamente una chiave da inserire nel tuo forum in protezione dagli attacchi di Spam. La miglior protezione in pochissimi clic!

    Ottieni una chiave hCaptcha

  • Se ti va puoi offrirci un caffè

    Una donazione può aiutare a sostenere la comunità.

    Sarà apprezzata ogni tipo di donazione!

    Donate Sidebar by DevFuse
  • Dillo ad un amico

    Ti piace Ibforum.it? Dillo ad un amico!

Su di Noi

Ibforum nasce per una passione verso questa board della Invision. Non ci siamo mai posti il problema di raggiungere un determinato obiettivo, ma con il tempo abbiamo iniziato a tradurre tutto il sistema cercando di fare del nostro meglio. Questo dominio è stato anche il primo nato in Italia (Gestito da ragazzi che erano veramente in gamba), per supportare le prime pubblicazioni di questo modello di Forum. Ci auguriamo che possa tornare ad essere di aiuto come un tempo. Evidenziamo anche argomentazioni trattate da altri siti che più o meno per noi possono essere di interesse comune, condividendo anche le nostre esperienze personali o passioni.

×
×
  • Crea Nuovo...

Informazione Importante

Questo sito web utilizza i Cookie e consente l'invio di cookies di terze parti. Premendo il tasto OK ACCETTO o compiendo una qualunque azione all'interno del sito web ne accetterai il loro utilizzo e la nostra Politica Sulla Riservatezza