MyBB.support, le portail francophone de MyBB

Version complète : Erreur SQL restauration Base de données
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Pages : 1 2
Bonjour,

Mes recherches sur les problèmes existants sur le forum ne donnant aucun résultat, je fais appel à vous.

J'ai fais une grosse erreur sur mon forum qui fait que je n'avais plus accès au panel admin.

J'ai donc décidé de modifier la base de données.

J'ai supprimé toutes les tables et j'essaye d'importer le fichier sql que j'ai sauvegardé juste avant et auquel j'ai apporté la correction.

Mais ce fichier sql ne veut pas être importé :

[attachment=914]


Aidez-moi s'il vous plait,

Merci d'avance,

Jujufield
Le problème est que la base de données elle-même est dans la sauvegarde et que l'importation tente de la recréer...

Je suggère de supprimer cette ligne dans le fichier SQL sauvegardé :
CREATE DATABASE `eocregma23849com8505_neo` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

Ainsi les tables seront restaurées dans la base de données existante, conservant aussi les accès actuels.
Déjà testé Sad

[attachment=915]

Ce qui m'énerve c'est que j'ai du mal à comprendre qu'est-ce qui change par rapport à la dernière fois où j'ai importé une base de données quand j'avais changé d'hébergeur ... (d'ailleurs ça n'avait pas marché du premier coup, mais là j'ai beau essayer, toujours la même erreur)
tu es chez qui legtux ? si oui j'ai eu le meme probleme et j'ai tout refait a 0
Non Wink

Concernant l'importation, j'ai essayé aussi avec d'anciennes sauvegardes mais ça ne marche pas. Donc j'aimerai vraiment comprendre le problème car si j'ai un souci avec mon forum plus tard pour je ne sais quelle raison, j'aurais beau avoir fait des sauvegardes régulièrement, je ne pourrai pas les importer.
Je constate que la première table fût créée sans problème, il est donc curieux de lire l'erreur concernant "DROP TABLE IF EXISTS `mybb_adminoptions` at line 267".

Il est possible que cette directive MySQL est bloquée chez l'hébergeur...
Comme j'ai dit, j'ai déjà importé une fois avec succès une base de données lorsque je suis passé sur l'hébergeur que j'utilise actuellement. Donc ça serait étrange que le problème vienne de l'hébergeur ...
Lors d'une sauvegarde des tables avec PHPmyAdmin l'option "DROP TABLE IF EXISTS" est sélectionnable pour être incluse pour chaque table. Peut-être qu'elle n'était pas active auparavant...
Toutes mes sauvegardes ont, normalement car en tout cas j'ai fais attention, été faites avec Drop table de coché comme Spyto l'indiquait dans son tutoriel.

Je n'arrive vraiment pas à comprendre ce bug.
Comme le précise exdiogene, ton fichier sql semble contenir l'instruction CREATE DATABASE... difficile donc de la créer puisqu'elle existe déjà !

Est-ce-que tu as supprimé la ligne dans le SQL pour tenter une nouvelle importation ? Si j'ai bien suivi, il semble que oui. Quel est alors le message d’erreur ?

Le fichier SQL contient-t-il bien les lignes DROP TABLE IF EXISTS et CREATE TABLE ?

Tu dis que tu as déjà importé avec succès une sauvegarde ancienne chez cet hébergeur. Si tu disposes encore du fichier, vérifie qu'il s'importe toujours correctement pour lever le doute.

La sauvegarde que tu n'arrives pas à importer a bien été créée via phpMyAdmin de ce même hébergeur ?

Bonjour Spyto,

1) Oui j'ai déjà testé en enlevant la ligne CREATE DATABASE et j'obtiens alors :


[attachment=917]

2) "Le fichier SQL contient-t-il bien les lignes DROP TABLE IF EXISTS et CREATE TABLE ?" :

Oui. Je coche toujours comme tu l'indiques dans ton tuto :

[attachment=916]

On peut voir que les lignes DROP TABLE IF EXISTS et CREATE TABLE sont bien présentes dans le fichier pour chaque table.

Exemple : [attachment=918]


3) "Tu dis que tu as déjà importé avec succès une sauvegarde ancienne chez cet hébergeur."

Je me suis peut-être mal exprimé. J'ai changé d'hébergeur. Donc j'ai importé la sauvegarde de l'ancien hébergeur sur le nouveau. C'est cette importation qui a marché.


4) La sauvegarde que tu n'arrives pas à importer a bien été créée via phpMyAdmin de ce même hébergeur ?

Oui.

Par rapport à ton screenshot 1, celui qui indique une erreur de syntaxe MySQL "... near DROP TABLE IF EXISTS `mybb_adminoptions` at line 267", pourrais-tu poster les quelques lignes autour de cette ligne 267 (disons 10 avant et 10 après) si ça ne dévoile rien d'indiscret ?

Il y a forcément une explication logique à ce comportement !

Tu n'as pas changé de version de MyBB entre le backup et la tentative de restore ?
Je vais être absent quelques jours, je suis désolé, mais je vous remercie tous les deux pour l'intérêt que vous portez à mon problème.
A bientôt pour la suite de la résolution ...
(28-06-2011, 17:21)spyto a écrit : [ -> ]Tu n'as pas changé de version de MyBB entre le backup et la tentative de restore ?

Non heureusement ! Smile



(28-06-2011, 17:21)spyto a écrit : [ -> ]pourrais-tu poster les quelques lignes autour de cette ligne 267 (disons 10 avant et 10 après) si ça ne dévoile rien d'indiscret ?

Il n'y a pas de soucis.

La solution n'est peut-être pas très loin !

Je pense qu'il faut que j'explique "ma grosse erreur". En fait au lieu de faire un compte de test pour mes groupes forum j'ai fais un test sur mon compte (donc compte admin), c'est à dire que j'ai changé "Adminisitrateur" en "Groupe exemple" car je pensais vraiment que j'allais rester administrateur malgré ce paramètre. Enfin bref grosse erreur bête.

Donc j'ai supprimé sur la base de données importée sur mon PC la dernière ligne de l'admin log (je crois), en tout cas c'était du genre "Edit Profil Jujufield".

Donc peut-être que le bug n'est pas à cause d'un problème d'importation mais d'un manque de compte admin. Je viens d'y penser en lisant "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DROP TABLE IF EXISTS `mybb_adminoptions`' at line 267"


Je veux bien envoyer les lignes autour de 267 mais elles n'ont l'air de rien avoir de particulier et surtout elles font partie de adminlog et non adminoptions.


Citation :(1, '88.173.70.244', 1278088625, 'config/profile_fields', 'edit', 'a:2:{i:0;N;i:1;s:15:"Niveau d''étude";}'),
(1, '88.173.70.244', 1278090503, 'style/themes', 'edit', 'a:2:{i:0;s:1:"2";i:1;s:7:"Default";}'),
(1, '88.173.70.244', 1278091949, 'forum/management', 'add', 'a:2:{i:0;i:19;i:1;s:10:"Fragmovies";}'),
(1, '88.173.70.244', 1278092008, 'forum/management', 'add', 'a:2:{i:0;i:20;i:1;s:11:"Vie réelle";}'),
(1, '88.173.70.244', 1278092036, 'forum/management', 'add', 'a:2:{i:0;i:21;i:1;s:8:"Abstrait";}'),
(1, '88.173.70.244', 1278092267, 'config/settings', 'change', 'a:0:{}'),
(1, '88.173.70.244', 1278092310, 'forum/management', 'add', 'a:2:{i:0;i:22;i:1;s:14:"Total Abstrait";}'),
(1, '88.173.70.244', 1278092369, 'forum/management', 'add', 'a:2:{i:0;i:23;i:1;s:26:"Retouche Objet ou Elément";}'),
(1, '88.173.70.244', 1278092384, 'forum/management', '', 'a:3:{i:0;s:6:"orders";i:1;s:2:"13";i:2;s:10:"Créations";}'),
(1, '88.173.70.244', 1278092395, 'forum/management', 'add', 'a:2:{i:0;i:24;i:1;s:17:"Retouche Personne";}'),
(1, '88.173.70.244', 1278092407, 'forum/management', '', 'a:3:{i:0;s:6:"orders";i:1;s:2:"13";i:2;s:10:"Créations";}'),
(1, '88.173.70.244', 1278092408, 'forum/management', '', 'a:3:{i:0;s:6:"orders";i:1;s:2:"13";i:2;s:10:"Créations";}'),
(1, '88.173.70.244', 1278092428, 'forum/management', 'add', 'a:2:{i:0;i:25;i:1;s:5:"Autre";}'),
(1, '88.173.70.244', 1278092448, 'forum/management', 'add', 'a:2:{i:0;i:26;i:1;s:5:"Autre";}'),
(1, '88.173.70.244', 1278092483, 'forum/management', 'add', 'a:2:{i:0;i:27;i:1;s:17:"Techno ou Electro";}'),
(1, '88.173.70.244', 1278092506, 'forum/management', 'add', 'a:2:{i:0;i:28;i:1;s:26:"Intrumental Rap ou Hip-Hop";}'),
(1, '88.173.70.244', 1278092532, 'forum/management', 'add', 'a:2:{i:0;i:29;i:1;s:17:"Musique avec Voix";}'),
(1, '88.173.70.244', 1278092544, 'forum/management', 'add', 'a:2:{i:0;i:30;i:1;s:5:"Autre";}'),
(1, '88.173.70.244', 1278108416, 'forum/management', 'edit', 'a:2:{i:0;i:19;i:1;s:10:"Fragmovies";}'),
(1, '88.173.70.244', 1278108616, 'forum/management', 'edit', 'a:2:{i:0;i:19;i:1;s:10:"Fragmovies";}'),
(1, '88.173.70.244', 1278109424, 'user/groups', 'edit', 'a:2:{i:0;s:1:"2";i:1;s:6:"Membre";}'),



Voici donc aussi la partie adminoptions de la BDD :

Code :
-- --------------------------------------------------------

--
-- Structure de la table `mybb_adminoptions`
--

DROP TABLE IF EXISTS `mybb_adminoptions`;
CREATE TABLE IF NOT EXISTS `mybb_adminoptions` (
  `uid` int(10) NOT NULL DEFAULT '0',
  `cpstyle` varchar(50) NOT NULL DEFAULT '',
  `codepress` int(1) NOT NULL DEFAULT '1',
  `notes` text NOT NULL,
  `permissions` text NOT NULL,
  `defaultviews` text NOT NULL,
  `loginattempts` int(10) unsigned NOT NULL DEFAULT '0',
  `loginlockoutexpiry` int(10) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`uid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

--
-- Contenu de la table `mybb_adminoptions`
--

INSERT INTO `mybb_adminoptions` (`uid`, `cpstyle`, `codepress`, `notes`, `permissions`, `defaultviews`, `loginattempts`, `loginlockoutexpiry`) VALUES
(0, '', 1, '', 'a:5:{s:6:"config";a:18:{s:3:"tab";s:1:"0";s:8:"settings";s:1:"0";s:7:"banning";s:1:"0";s:14:"profile_fields";s:1:"0";s:7:"smilies";s:1:"0";s:8:"badwords";s:1:"0";s:6:"mycode";s:1:"0";s:9:"languages";s:1:"0";s:10:"post_icons";s:1:"0";s:14:"help_documents";s:1:"0";s:7:"plugins";s:1:"0";s:16:"attachment_types";s:1:"0";s:9:"mod_tools";s:1:"0";s:7:"spiders";s:1:"0";s:9:"calendars";s:1:"0";s:7:"warning";s:1:"0";s:15:"thread_prefixes";i:0;s:9:"mysupport";i:0;}s:5:"forum";a:6:{s:3:"tab";s:1:"0";s:10:"management";s:1:"0";s:13:"announcements";s:1:"0";s:16:"moderation_queue";s:1:"0";s:11:"attachments";s:1:"0";s:7:"akismet";i:0;}s:5:"style";a:3:{s:3:"tab";s:1:"0";s:6:"themes";s:1:"0";s:9:"templates";s:1:"0";}s:5:"tools";a:15:{s:3:"tab";s:1:"0";s:13:"system_health";s:1:"0";s:5:"cache";s:1:"0";s:5:"tasks";s:1:"0";s:8:"backupdb";s:1:"0";s:10:"optimizedb";s:1:"0";s:8:"adminlog";s:1:"0";s:6:"modlog";s:1:"0";s:15:"recount_rebuild";s:1:"0";s:8:"php_info";s:1:"1";s:8:"maillogs";s:1:"0";s:10:"mailerrors";s:1:"0";s:10:"warninglog";s:1:"0";s:17:"file_verification";i:0;s:10:"statistics";i:0;}s:4:"user";a:8:{s:3:"tab";s:1:"0";s:5:"users";s:1:"0";s:6:"groups";s:1:"0";s:6:"titles";s:1:"0";s:7:"banning";s:1:"0";s:17:"admin_permissions";s:1:"0";s:9:"mass_mail";s:1:"0";s:16:"group_promotions";s:1:"0";}}', 'a:1:{s:4:"user";s:1:"1";}', 0, 0),
(-4, '', 1, '', 'a:5:{s:6:"config";a:18:{s:3:"tab";s:1:"1";s:8:"settings";s:1:"1";s:7:"banning";s:1:"1";s:14:"profile_fields";s:1:"1";s:7:"smilies";s:1:"1";s:8:"badwords";s:1:"1";s:6:"mycode";s:1:"1";s:9:"languages";s:1:"1";s:10:"post_icons";s:1:"1";s:14:"help_documents";s:1:"1";s:7:"plugins";s:1:"1";s:16:"attachment_types";s:1:"1";s:9:"mod_tools";s:1:"1";s:7:"spiders";s:1:"1";s:9:"calendars";s:1:"1";s:7:"warning";s:1:"1";s:15:"thread_prefixes";i:1;s:9:"mysupport";i:1;}s:5:"forum";a:6:{s:3:"tab";s:1:"1";s:10:"management";s:1:"1";s:13:"announcements";s:1:"1";s:16:"moderation_queue";s:1:"1";s:11:"attachments";s:1:"1";s:7:"akismet";i:1;}s:5:"style";a:3:{s:3:"tab";s:1:"1";s:6:"themes";s:1:"1";s:9:"templates";s:1:"1";}s:5:"tools";a:15:{s:3:"tab";s:1:"1";s:13:"system_health";s:1:"1";s:5:"cache";s:1:"1";s:5:"tasks";s:1:"1";s:8:"backupdb";s:1:"1";s:10:"optimizedb";s:1:"1";s:8:"adminlog";s:1:"1";s:6:"modlog";s:1:"1";s:15:"recount_rebuild";s:1:"1";s:8:"php_info";s:1:"1";s:8:"maillogs";s:1:"1";s:10:"mailerrors";s:1:"1";s:10:"warninglog";s:1:"1";s:17:"file_verification";i:1;s:10:"statistics";i:1;}s:4:"user";a:8:{s:3:"tab";s:1:"1";s:5:"users";s:1:"1";s:6:"groups";s:1:"1";s:6:"titles";s:1:"1";s:7:"banning";s:1:"1";s:17:"admin_permissions";s:1:"1";s:9:"mass_mail";s:1:"1";s:16:"group_promotions";s:1:"1";}}', 'a:1:{s:4:"user";s:1:"1";}', 0, 0),
(1, 'default', 1, '', 'a:5:{s:6:"config";a:18:{s:3:"tab";s:1:"1";s:8:"settings";s:1:"1";s:7:"banning";s:1:"1";s:14:"profile_fields";s:1:"1";s:7:"smilies";s:1:"1";s:8:"badwords";s:1:"1";s:6:"mycode";s:1:"1";s:9:"languages";s:1:"1";s:10:"post_icons";s:1:"1";s:14:"help_documents";s:1:"1";s:7:"plugins";s:1:"1";s:16:"attachment_types";s:1:"1";s:9:"mod_tools";s:1:"1";s:7:"spiders";s:1:"1";s:9:"calendars";s:1:"1";s:7:"warning";s:1:"1";s:15:"thread_prefixes";i:1;s:9:"mysupport";i:1;}s:5:"forum";a:6:{s:3:"tab";s:1:"1";s:10:"management";s:1:"1";s:13:"announcements";s:1:"1";s:16:"moderation_queue";s:1:"1";s:11:"attachments";s:1:"1";s:7:"akismet";i:1;}s:5:"style";a:3:{s:3:"tab";s:1:"1";s:6:"themes";s:1:"1";s:9:"templates";s:1:"1";}s:5:"tools";a:15:{s:3:"tab";s:1:"1";s:13:"system_health";s:1:"1";s:5:"cache";s:1:"1";s:5:"tasks";s:1:"1";s:8:"backupdb";s:1:"1";s:10:"optimizedb";s:1:"1";s:15:"recount_rebuild";s:1:"1";s:8:"php_info";s:1:"1";s:8:"adminlog";s:1:"1";s:6:"modlog";s:1:"1";s:8:"maillogs";s:1:"1";s:10:"mailerrors";s:1:"1";s:10:"warninglog";s:1:"1";s:17:"file_verification";i:1;s:10:"statistics";i:1;}s:4:"user";a:8:{s:3:"tab";s:1:"1";s:5:"users";s:1:"1";s:6:"groups";s:1:"1";s:6:"titles";s:1:"1";s:7:"banning";s:1:"1";s:17:"admin_permissions";s:1:"1";s:9:"mass_mail";s:1:"1";s:16:"group_promotions";s:1:"1";}}', 'a:1:{s:4:"user";N;}', 0, 0);

-- --------------------------------------------------------

Une idée pour régler le problème ? :/

Sinon mon forum est DEAD Sad
Spyto ? Exdiogene ? Quelqu'un peut m'aider à réparer mon forum s'il vous plait ? Sad
Tu te doutes bien que si j'avais la moindre idée, j'aurais répondu ! Wink

Dans les extraits que tu donnes, je ne vois pas d'erreur de syntaxe. Pourtant il y en a bien une qui fait stopper l’importation !...

Au point où tu en es, au cas où la directive "DROP TABLE IF EXISTS" ne serait pas supportés par ton hébergeur (ce qui m'étonnerait), fais une copie de ton fichier sql et supprime toutes les lignes :
Code :
DROP TABLE IF EXISTS `mybb_xxxxx`;
Dans phpMyAdmin, supprime toutes tes tables.
Et essaie d'importer le SQL modifié.

Fais évidemment une sauvegarde de ta BD actuelle pour pouvoir revenir à la situation initiale...
Citation :En fait au lieu de faire un compte de test pour mes groupes forum j'ai fais un test sur mon compte (donc compte admin), c'est à dire que j'ai changé "Adminisitrateur" en "Groupe exemple" car je pensais vraiment que j'allais rester administrateur malgré ce paramètre. Donc peut-être que le bug n'est pas à cause d'un problème d'importation mais d'un manque de compte admin.

Pour toi ça ne pose pas de problème ce manque de compte admin ? Et c'est réparable une fois le forum remis en place ?


Citation :(1, '88.173.70.244', 1278088625, 'config/profile_fields', 'edit', 'a:2:{i:0;N;i:1;s:15:"Niveau d''étude";}'),

C'est bien mon adresse IP ...


Je vais tester ce que tu me proposes.


Résultat :

[attachment=922]


C'est maintenant CREATE TABLE qui plante ...


J'ai tenté de supprimer les tables admin et un peu plus jusqu'à arriver à l'insertion d'une table "basique".

Même problème :

[attachment=923]

Help ... Sad



Alléluia !!! x)

J'ai retesté (car déjà fait) de réimporter une ancienne base de données, j'ai supprimé le "CREATE DATABASE `eocregma23849com8505_neo` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;"

et ça marche !

J'ai un forum qui date un petit peu (car j'étais en pleine construction donc je vais devoir refaire pas mal de trucs) mais c'est rien par rapport au fait que déjà mon forum remarche ! Avec mon compte admin (logique).

Le seul truc qui m'inquiète c'est que j'espère qu'à l'avenir les BDD que je sauvegarderai seront bien fonctionnelles et ne planteront pas comme la dernière ... mais comment vérifier après sauvegarde ? ...


Maintenant il y a peut-être moyen de gagner du temps de construction en récupérant des données de la toute dernière BDD sauvegardée mais qui plante non ?

Veux-tu que j'envoie mon ancienne BDD qui marche et la récente qui plante pour comprendre le problème ?
Je vais peut-être dire une c****, mais si c'était le "IF NOT EXISTS" qu'il digérait mal ?
Essaie en supprimant le "CREATE DATABASE", tous les DROP TABLE IF EXISTS `mybb_xxxxx`; et toue les IF NOT EXISTS dans les créations de table.
Code :
CREATE TABLE 'xxxx'; au lieu de CREATE TABLE IF NOT EXISTS 'xxx';

En ayant évidemment déjà créé la base et supprimé toutes les tables.
Ca serait très étrange car la BDD plus vieille qui a pu être importée est construite avec DROP TABLE et IF NOT EXISTS ... x)

Code :
-- Structure de la table `mybb_adminoptions`
--

DROP TABLE IF EXISTS `mybb_adminoptions`;
CREATE TABLE IF NOT EXISTS `mybb_adminoptions` (
  `uid` int(10) NOT NULL DEFAULT '0',
  `cpstyle` varchar(50) NOT NULL DEFAULT '',
  `codepress` int(1) NOT NULL DEFAULT '1',
  `notes` text NOT NULL,
  `permissions` text NOT NULL,
  `defaultviews` text NOT NULL,
  `loginattempts` int(10) unsigned NOT NULL DEFAULT '0',
  `loginlockoutexpiry` int(10) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`uid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Pour toi ça ne pose pas de souci le manque de compte admin pour la dernière base de données ? Ca ne peut pas être à l'origine du problème ?
Pages : 1 2
 Utilitaire de traduction fourni par Regentronique