Hébergements Web - MAJ mysql4 vers 5.6
BMPCreated with Sketch.BMPZIPCreated with Sketch.ZIPXLSCreated with Sketch.XLSTXTCreated with Sketch.TXTPPTCreated with Sketch.PPTPNGCreated with Sketch.PNGPDFCreated with Sketch.PDFJPGCreated with Sketch.JPGGIFCreated with Sketch.GIFDOCCreated with Sketch.DOC Error Created with Sketch.
Frage

MAJ mysql4 vers 5.6

Von
DidierB27
Erstellungsdatum 2020-04-04 12:33:37 (edited on 2024-09-04 11:46:28) in Hébergements Web

Comme beaucoup d'autres j'ai suivi la procedure indiquée par ovh et j'arrive au même

Dump file invalid : ERROR 1064 (42000) at line 3 in file: '/tmp/0GWXn_hI4i': 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 'TYPE=MyISAM AUTO_INCREMENT=498' at line 16

voici copie de ma table de 1 à 85

-- --------------------------------------------------------\
\
--\
-- Structure de la table `spip_ajax_fonc`\
--\
\
CREATE TABLE IF NOT EXISTS `spip_ajax_fonc` (\
`id_ajax_fonc` bigint(21) NOT NULL auto_increment,\
`id_auteur` bigint(21) NOT NULL default '0',\
`variables` text NOT NULL,\
`date` datetime NOT NULL default '0000-00-00 00:00:00',\
`hash` bigint(20) unsigned NOT NULL default '0',\
PRIMARY KEY (`id_ajax_fonc`),\
KEY `hash` (`hash`),\
KEY `date` (`date`),\
KEY `id_ajax_fonc` (`id_ajax_fonc`),\
KEY `id_auteur` (`id_auteur`)\
) TYPE=MyISAM AUTO_INCREMENT=498 ;\
\
--\
-- Contenu de la table `spip_ajax_fonc`\
--\
\
\
-- --------------------------------------------------------\
\
--\
-- Structure de la table `spip_articles`\
--\
\
CREATE TABLE IF NOT EXISTS `spip_articles` (\
`id_article` bigint(21) NOT NULL auto_increment,\
`surtitre` text NOT NULL,\
`titre` text NOT NULL,\
`soustitre` text NOT NULL,\
`id_rubrique` bigint(21) NOT NULL default '0',\
`descriptif` text NOT NULL,\
`chapo` mediumtext NOT NULL,\
`texte` longblob NOT NULL,\
`ps` mediumtext NOT NULL,\
`date` datetime NOT NULL default '0000-00-00 00:00:00',\
`statut` varchar(10) NOT NULL default '0',\
`id_secteur` bigint(21) NOT NULL default '0',\
`maj` timestamp(14) NOT NULL,\
`export` varchar(10) default 'oui',\
`date_redac` datetime NOT NULL default '0000-00-00 00:00:00',\
`visites` int(11) NOT NULL default '0',\
`referers` int(11) NOT NULL default '0',\
`popularite` double NOT NULL default '0',\
`accepter_forum` char(3) NOT NULL default '',\
`date_modif` datetime NOT NULL default '0000-00-00 00:00:00',\
`lang` varchar(10) NOT NULL default '',\
`langue_choisie` char(3) default 'non',\
`id_trad` bigint(21) NOT NULL default '0',\
`extra` longblob,\
`idx` enum('','1','non','oui','idx') NOT NULL default '',\
`id_version` int(10) unsigned NOT NULL default '0',\
`nom_site` tinytext NOT NULL,\
`url_site` varchar(255) NOT NULL default '',\
`url_propre` varchar(255) NOT NULL default '',\
PRIMARY KEY (`id_article`),\
KEY `id_rubrique` (`id_rubrique`),\
KEY `id_secteur` (`id_secteur`),\
KEY `id_trad` (`id_trad`),\
KEY `lang` (`lang`),\
KEY `statut` (`statut`,`date`),\
KEY `url_site` (`url_site`),\
KEY `date_modif` (`date_modif`),\
KEY `idx` (`idx`),\
KEY `url_propre` (`url_propre`),\
KEY `accepter_forum` (`accepter_forum`),\
KEY `date` (`date`),\
KEY `date_redac` (`date_redac`),\
KEY `export` (`export`),\
KEY `id_article` (`id_article`),\
KEY `id_version` (`id_version`),\
KEY `langue_choisie` (`langue_choisie`),\
KEY `maj` (`maj`),\
KEY `popularite` (`popularite`),\
KEY `referers` (`referers`),\
KEY `visites` (`visites`)\
) TYPE=MyISAM AUTO_INCREMENT=74 ;\
\
--\
-- Contenu de la table `spip_articles`\

pouvez vous m'aider ?
car je n'ai pas trouvé de réponse claire sur ce que je dois faire pour que ça passe.

merci de votre aide


15 Antworten ( Latest reply on 2020-04-09 14:24:37 Von
kyodev
)

J'ai suivi les instructions que vous donnez dans ce message et voilà le message d'erreur que je reçois... désolé d'insister

Dump file invalid : ERROR 1064 (42000) at line 84 in file: '/tmp/FUL0XZmgVn': 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 ', (56, '', '6. contact', '', 11, '', '', 0x7b7b4e6f7269617d7d0d0a5f20313020727565' at line 5

merci de nouveau de votre aide
didier

je ne comprends pas le charabia de `\` que tu as posté
tu parles d'une erreur sur une ligne que tu ne montres pas
on ne peut pas t'aider en aveugle


désolé voilà les lignes concernées :

-- --------------------------------------------------------\
\
--\
-- Structure de la table `spip_ajax_fonc`\
--\
\
CREATE TABLE IF NOT EXISTS `spip_ajax_fonc` (\
`id_ajax_fonc` bigint(21) NOT NULL auto_increment,\
`id_auteur` bigint(21) NOT NULL default '0',\
`variables` text NOT NULL,\
`date` datetime NOT NULL default '0000-00-00 00:00:00',\
`hash` bigint(20) unsigned NOT NULL default '0',\
PRIMARY KEY (`id_ajax_fonc`),\
KEY `hash` (`hash`),\
KEY `date` (`date`),\
KEY `id_ajax_fonc` (`id_ajax_fonc`),\
KEY `id_auteur` (`id_auteur`)\
) ENGINE=MyISAM AUTO_INCREMENT=498 ;\
\
--\
-- Contenu de la table `spip_ajax_fonc`\
--\
\
\
-- --------------------------------------------------------\
\
--\
-- Structure de la table `spip_articles`\
--\
\
CREATE TABLE IF NOT EXISTS `spip_articles` (\
`id_article` bigint(21) NOT NULL auto_increment,\
`surtitre` text NOT NULL,\
`titre` text NOT NULL,\
`soustitre` text NOT NULL,\
`id_rubrique` bigint(21) NOT NULL default '0',\
`descriptif` text NOT NULL,\
`chapo` mediumtext NOT NULL,\
`texte` longblob NOT NULL,\
`ps` mediumtext NOT NULL,\
`date` datetime NOT NULL default '0000-00-00 00:00:00',\
`statut` varchar(10) NOT NULL default '0',\
`id_secteur` bigint(21) NOT NULL default '0',\
`maj` timestamp(6) NOT NULL,\
`export` varchar(10) default 'oui',\
`date_redac` datetime NOT NULL default '0000-00-00 00:00:00',\
`visites` int(11) NOT NULL default '0',\
`referers` int(11) NOT NULL default '0',\
`popularite` double NOT NULL default '0',\
`accepter_forum` char(3) NOT NULL default '',\
`date_modif` datetime NOT NULL default '0000-00-00 00:00:00',\
`lang` varchar(10) NOT NULL default '',\
`langue_choisie` char(3) default 'non',\
`id_trad` bigint(21) NOT NULL default '0',\
`extra` longblob,\
`idx` enum('','1','non','oui','idx') NOT NULL default '',\
`id_version` int(10) unsigned NOT NULL default '0',\
`nom_site` tinytext NOT NULL,\
`url_site` varchar(255) NOT NULL default '',\
`url_propre` varchar(255) NOT NULL default '',\
PRIMARY KEY (`id_article`),\
KEY `id_rubrique` (`id_rubrique`),\
KEY `id_secteur` (`id_secteur`),\
KEY `id_trad` (`id_trad`),\
KEY `lang` (`lang`),\
KEY `statut` (`statut`,`date`),\
KEY `url_site` (`url_site`),\
KEY `date_modif` (`date_modif`),\
KEY `idx` (`idx`),\
KEY `url_propre` (`url_propre`),\
KEY `accepter_forum` (`accepter_forum`),\
KEY `date` (`date`),\
KEY `date_redac` (`date_redac`),\
KEY `export` (`export`),\
KEY `id_article` (`id_article`),\
KEY `id_version` (`id_version`),\
KEY `langue_choisie` (`langue_choisie`),\
KEY `maj` (`maj`),\
KEY `popularite` (`popularite`),\
KEY `referers` (`referers`),\
KEY `visites` (`visites`)\
) ENGINE=MyISAM AUTO_INCREMENT=74 ;\
\
--\
-- Contenu de la table `spip_articles`\
--\
\
,\
(56, '', '6. contact', '', 11, '', '',

et ensuite il y a toute la table avec les articles
dites moi si vous voulez que je vous joigne tout le fichier.
Merci de votre aide

didier

bis, un sql n'est pas formaté avec des `\` en fin de ligne

désolé, je passe la main

Ok Kyodev, mais c'est tout ce que j'ai récupéré de l'export de la base mysql 4.
C'est pourquoi je demandais de récupérer une sauvegarde Mysql4 d'avant le 24 mars moment où j'ai voulu faire le changement à votre demande. Une sauvegarde de février sera parfaite car je n'ai pas touché à cette base depuis des années et je n'en ai pas de sauvegarde locale.
Pouvez vous faire ça pour moi ou me dire auprès de qui je dois m'adresser pour cela.
Merci d'avance

didier

je ne suis pas d'Ovh

tu dois éditer la sauvegarde quelque que soit sa date pour la rendre compatible 5.6
je ne comprends pas ce que tu montres ce n'est pas dans une sauvegarde sql normale

le site est fonctionnel? si oui quelle adresse?

le site se trouve ici 1project.orgproject.org mais il s'affiche avec un message d'erreur sql.
Comment joindre quelqu'un dOVH pour qu'il m'envoie une sauvegarde de février ?
Avez vous un lien, un numero, une idée... je ne sais plus quoi faire

merci d'avoir aidé, je croyais que vous étiez de chez OVH.
didier

MP envoyé

```text Bonjour @DidierB27,

Auriez-vous plus d'informations à me communiquer par MP ?

La sauvegarde que vous essayez de charger dans votre nouvelle base ne comporte pas les '\' de fin de ligne. C'est une bonne nouvelle. Peut être sont-ils dus à votre éditeur de texte ?

Par contre, vu la grande différence de version qu'il y a entre MySQL 4.0 et MySQL5.6, les sauvegardes ne sont pas tout à fait compatibles. En effet certains mot-clés ont changé et MySQL 5.6 ne les reconnaît pas ou les reconnaît mal.

Je vous invite à suivre le petit guide de @kyodev (Un grand merci) ici : https://community.ovhcloud.com/community/fr/probleme-de-maj-sql-4-0-5-6?id=community_question&sys_id=ad02f9c8fd5e8e902d4c483e6acd51db

Cordialement,
Fabien ```

@DidierB27,

Après avoir regardé d'un peu plus près votre dump, une des erreurs est la suivante:

Vous avez bien fait (au moins en partie) les modifications, concernant le remplacement de `TYPE` par `ENGINE`, mais, il y a des guillemets qui ont été ajoutés sur la dernière ligne, par exemple:

CREATE TABLE IF NOT EXISTS `ma_table` (
`id` int NOT NULL auto_increment,
`auteur` bigint NOT NULL default '0',
`variables` text NOT NULL,
`date` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`id`),
KEY `date` (`date`),
") ENGINE=MyISAM AUTO_INCREMENT=42 ;"

Ce sont ces `"` qui posent problème à l'import.

Je vous invite donc à les supprimer et à retenter un import.

N'oubliez pas que, pour que votre site se connecte à votre nouvelle base de données une fois l'import réussi, il vous faudra changer les paramètres de connexion de votre CMS.

les '\' sont dus ?à textedit qui en est encore au rtf?, il faut **ABSOLUMENT** conserver un original de la sauvegarde

dans son cas, j'ai regardé en privé, la corruption est profonde, et seule une sauvegarde pourrait servir, en sachant que la version de Spip est inconnue :/

> Ce sont ces " qui posent problème à l'import.

je les ai enlevés, ce n'est pas suffisant, plus loin il manque des `INSERT TO`

j'ai abandonné après
```text
sed -i 's/) TYPE=/) ENGINE=/' noriaprospip.sql
sed -i -E 's/"\) TYPE=(.*)"/) ENGINE=\1/' noriaprospip.sql
sed -i 's/timestamp(14)/timestamp(6)/' noriaprospip.sql
```

Merci, je vais voir

Merci à tous les deux de vous pencher sur ce dump bizarre.
Merci à Kyodev d'avoir sollicité FabienB42 pour de l'aide.
Dites moi si je peux faire quelque chose.

je n'ai rien fait, mais si @FabienB42 peut s'en occuper, il est le mieux placé

@DidierB27,

J'ai pu importer une sauvegarde récente de votre ancienne base de données sur la nouvelle. Il me semble que tout y est.

Il vous reste maintenant à modifier votre CMS afin de le faire pointer vers votre nouvelle base.

Dommage, c'était la fin ;)

Merci de l'aide apportée

> Il vous reste maintenant à modifier votre CMS afin de le faire pointer vers votre nouvelle base.

la config se trouve en ftp, dans `/config/connect.php`