J'ai un problème (EN LOCAL UNIQUEMENT) que je n'arrive pas à comprendre et surtout à résoudre.
LE PROBLEME :
Via PhpMyAdmin J'EXPORTE D'ABORD MA BDD SANS PROBLEME sur mon disque dur (en .sql). (en l'occurrence une bdd Wordpress d'un site terminé) Ensuite quand J'ESSAYE D'IMPORTER CETTE BDD (tjrs en LOCAL et tjrs via PhpMyAdmin sans avoir absolument rien changé dans le fichier SQL) dans une NOUVELLE BDD, ça me génère des ERREURS DE SYNTAXE (champs sérialisés ou autre) et je ne peux donc pas importer ma BDD. Et pour avoir regardé à l'endroit des erreurs signalés, au dessus ou au dessous, je ne vois rien de problématique, ni caractères spéciaux, ni rien qui pourrait poser problème.
Si j'avais changé des choses dans le fichier exporté, si j'exportais cette BDD dans un environnement en ligne avec des histoires de versions MySQL différentes, encodage différents, etc , ok je me dirais que le problème vient de versions différentes mais là c'est exactement le même environnement, je n'ai rien touché au fichier SQL et pourtant j'ai des erreurs de syntaxes.
A savoir que lorsque j'importe ce même fichier dans un environnement en ligne, ça ne pose aucun problème.
POURQUOI j'AI BESOIN DE FAIRE UN EXPORT/IMPORT DE LA MEME BDD EN LOCALHOST ?
Car je voulais créer un nouveau site en partant de la BDD et fichiers de mon précédent site Wordpress déjà terminé, pour gagner du temps plutôt que de repartir de zéro. (J'aurais juste modifié les URLs dans le fichier exporté avant de l'importer mais là ça plante déjà sans rien changer)
POUR RESUMER :
1 - EXPORT BDD "A" en LOCAL via PHPMYADMIN
2 - IMPORT BDD "A" (SANS RIEN CHANGER) EN LOCAL dans une AUTRE BDD VIERGE (même encodage) ==> IMPOSSIBLE : ERREURS SYNTAXES
Merci par avance pour votre aide.
Bonne journée.
Régis
Modifie 1 fois. Derniere modification le 19/06/2018 à 10:50 par Claw69.
Caractère inattendu. (near ":" at position 24995) Caractère inattendu. (near ":" at position 24997) Caractère inattendu. (near "{" at position 24998) Caractère inattendu. (near ":" at position 25000) Caractère inattendu. (near ":" at position 25003) Caractère inattendu. (near ":" at position 25020) Caractère inattendu. (near "}" at position 25023) Caractère inattendu. (near ":" at position 25067) Caractère inattendu. (near ":" at position 25069) Caractère inattendu. (near "{" at position 25070)
[....]
Début d'énoncé inattendu. (near "4" at position 27216) Début d'énoncé inattendu. (near "waz1" at position 27217) Début d'énoncé inattendu. (near "', '" at position 27221) Type d'énoncé non reconnu. (near "no" at position 27225)
Requête SQL :
INSERT INTO `wp_options` (`option_id`, `option_name`, `option_value`, `autoload`) VALUES (1, 'siteurl',
[.....]
MySQL a répondu: Documentation
#1064 - Erreur de syntaxe près de 'widget_aboutmewidget', 'a:1:{s:12:"_multiwidget";i:1;}', 'yes'), (156, 'widget_a' à la ligne 145
J'ai fait "n" tentatives, en virant du fichier .sql les endroits où les erreurs sont signalées, en mettant à vide certains champs sérialisés, etc, mais lors d'une nouvelle tentative d'import il pointe ensuite une nouvelle erreur de syntaxe ailleurs, à un autre endroit du fichier, etc donc c'est un travail de fou et surtout que je n'arrive pas à comprendre où est le problème, je ne vois aucune erreur de syntaxe, aucun caractère spécial, etc
- 1 - - Vérifier que tous les paquetages VC++ sont bien installés et avec les dernières versions. Pour ce faire, utilisez l'outil : Vérifications paquetages VC installés et vous trouverez tous les paquetages sur [wampserver.aviatechno.net] dans la section Visual C++ Redistribuable Packages N'utilisez pas une ancienne version de l'outil que vous auriez déjà téléchargé. Télécharger toujours la dernière version juste avant de l'utiliser.
- 2 - Si ce n'est pas déjà fait, appliquez la mise à jour 3.1.3 sur votre version de Wampserver Wampserver update 3.1.3
- 3 - Changez de version de PhpMyAdmin pour une version récente : 4.8.1
Il y a parfois des erreurs incompréhensibles avec phpmyadmin. Je prends le cas avec la déclarative "comment" qui, on ne sait pas pourquoi, est collé (donc sans espace) avec un not null, ou autre chose, juste avant.
Il y a aussi des caractères qui sont bien échappés mais tout ce passe comme s'ils ne l'étaient pas.
Normalement, la version phpmyadmin que vous utilisez doit être en relation avec votre version mysql. Si vous prenez la dernière version mysql, autant prend aussi la dernière version phpmyadmin.
Au lieu de d'utiliser l'export de phpmyadmin, pourquoi ne pas créer un script en utilisant mysqldump pour décharger table par table ?
@+
---------------------------------------------------------------------------------------------------------------------------------------------------------------- Mon site : [www.jcz.fr]
J'ai donc installé tous les derniers paquetages VC++ qui manquaient, mis à jour Wampserver de 3.0.4 à 3.1.1 (le lien donné ne proposait pas 3.1.3) + redémarrage PC ...mais cela n'a pas résolu le problème, même résultat.
J'ai jeté rapidement un oeil sur google pour savoir comment mettre à jour PhpMyAdmin, visiblmt ça nécessite 2-3 manips ( [john-dugan.com] ) et comme je l'ai jamais fait, je pense qu'il vaut mieux que j'attende d'avoir mis en ligne le site de mon client (+ validation) avant de faire cette manip car si je fais une bêtise, ça va me mettre dans une bonne galère.