Bonjour,
Je suis en train de passer ma BDD sous SQL 5.6 (puisque le 4.0 ne sera plus supporté au 2 avril). J'ai bien suivi les étapes du guide OVH.
Arrivé à la fin du processus (upload de la BDD en 5.6), je reçois le message d'erreur ci-dessous :
Bonjour,
Vous avez demandé l'import d'un dump externe sur votre base de données. Cette opération n'a pas pu être réalisée avec votre fichier.
Voici le message d'erreur correspondant :
Dump file invalid : ERROR 1064 (42000) at line 16 in file: '/tmp/_ojCf_Q4S4': 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' at line 9
Nous vous suggérons de corriger votre dump et de retenter l'import."
Je n'ai aucune idée de la façon dont il faut procéder, quelqu'un saurait-il comment je dois m'y prendre ?
Cordialement,
Problème de MAJ SQL 4.0 - 5.6
Related questions
- Connexion à mon compte client
133770
13.02.2019 09:51
- Serveur non sécurisé, celui-ci ne supporte pas FTP sur TLS
115076
03.09.2018 14:46
- reCAPTCHA erreur pour le propriétaire du site : clé de site non valide
100060
14.02.2019 16:17
- [FAQ] Comment mettre à jour mon site pour supporter Apache 2.4 ?
85920
28.07.2017 11:39
- Passage en php 7.4
81112
30.06.2020 05:05
- Augmenter taille PHP Post Max Size sur mutualisé ?
79476
04.12.2019 21:52
- Ce site est inaccessible Impossible de trouver l'adresse DNS du serveur
79046
16.10.2016 16:24
- The requested URL / was not found on this server
78711
02.03.2017 18:25
- NextCloud sur mutualisé
78362
07.04.2017 08:42
- Deploy d'un projet Node JS
78245
12.10.2016 20:18
sans voir ton dump, comment veux tu une réponse?
montre les lignes 12 à 20
```text Merci de ta réponse, je n'ai aucune compétence dans le domaine ...
Ci-dessous un copier coller des premières lignes du fichier :
-- phpMyAdmin SQL Dump
-- version OVH
-- http://www.phpmyadmin.net
--
-- Host: sergemal.mysql.db
-- Generation Time: Mar 27, 2020 at 11:30 AM
-- Server version: 4.0.26
-- PHP Version: 5.6.40-0+deb8u2
--
-- Database: `sergemal`
--
-- --------------------------------------------------------
--
-- Table structure for table `admin`
--
CREATE TABLE IF NOT EXISTS `admin` (
`Id_Admin` tinyint(3) unsigned NOT NULL default '0',
`Login` varchar(40) default NULL,
`Password` varchar(40) default NULL,
PRIMARY KEY (`Id_Admin`),
KEY `Id_Admin` (`Id_Admin`),
KEY `Login` (`Login`),
KEY `Password` (`Password`)
) TYPE=MyISAM;
--
-- Dumping data for table `admin`
--
INSERT INTO `admin` (`Id_Admin`, `Login`, `Password`) VALUES
(1, 'smid', 'bysmab');
-- --------------------------------------------------------
--
-- Table structure for table `article`
--
CREATE TABLE IF NOT EXISTS `article` (
`Id_Article` mediumint(8) unsigned NOT NULL auto_increment,
`Niv1` smallint(5) unsigned default '0',
`Niv2` smallint(5) unsigned default '0',
`Texte` blob,
`TexteP` blob,
`Image` varchar(50) default NULL,
`ImageP` varchar(50) default NULL,
`Gabarit` tinyint(3) unsigned default '1',
`GabaritP` tinyint(3) unsigned default '1',
UNIQUE KEY `Id_Article` (`Id_Article`),
KEY `Id_Article_2` (`Id_Article`),
KEY `Niv1` (`Niv1`),
KEY `Niv2` (`Niv2`),
KEY `Gabarit` (`Gabarit`),
KEY `GabaritP` (`GabaritP`),
KEY `Image` (`Image`),
KEY `ImageP` (`ImageP`)
) TYPE=MyISAM AUTO_INCREMENT=122 ;
--
-- Dumping data for table `article` ```
remplace
```text
) TYPE=MyISAM AUTO_INCREMENT=122 ;
```
par
```text
) ENGINE=MyISAM AUTO_INCREMENT=122;
```
Merci, je viens d'effectuer la modification dans le fichier et tenté d'importer à nouveau. Je reçois désormais le mail d'erreur ci-dessous :
"Dump file invalid : ERROR 1064 (42000) at line 16 in file: '/tmp/b8wxLr0Ygg': 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' at line 9"
Mail d'erreur légèrement modifié ( '/tmp/b8wxLr0Ygg' au lieu de '/tmp/_ojCf_Q4S4').
```sql
CREATE TABLE IF NOT EXISTS admin (
Id_Admin tinyint(3) unsigned NOT NULL default '0',
Login varchar(40) default NULL,
Password varchar(40) default NULL,
PRIMARY KEY (Id_Admin),
KEY Id_Admin (Id_Admin),
KEY Login (Login),
KEY Password (Password)
) TYPE=MyISAM;
--
-- Dumping data for table admin
--
INSERT INTO admin (Id_Admin, Login, Password) VALUES
(1, 'smid', 'bysmab');
```
remplace `Password` par `mdp` (par exempe)
et si nouveau souci, change les collisions avec les mots clés réservés: https://dev.mysql.com/doc/refman/5.6/en/keywords.html
Merci, j'ai modifié tous les "Password" par "Mdp".
En revanche je ne suis pas certain de bien comprendre les modifcations de mots que je dois éventuellement effectuer (j'attends le mail de confirmation).
Merci de ton aide en tous cas.
> Merci, j'ai modifié tous les "Password" par "Mdp".
dans les deux seules lignes que j'ai indiqué...
Si je reprends ton message il y'a 3 occurences de "Password". Dois-je uniquement rempalcer celle de la dernière ligne ?
non, 3 occurences sur 3 lignes
pas ailleurs dans le dump
J'ai rencontré le même problème de syntaxe avec les TYPE=MyISAM à convertir en ENGINE=MyISAM.
J'ai donc rectifié comme indiqué ci-dessus.
Mais au nouvel essai de chargement, le message d'erreur devient :
Dump file invalid : ERROR 1064 (42000) at line 860 in file: '/tmp/bpi_IrFfF9': 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 ', (5, '9b1de2f322', 'Bonjour Herve,\\r\\n\\r\\nOui je me demande si ce forum sera aus' at line 1
Et alors là je prends peur : Est-ce que l'erreur de syntaxe est dans le texte ? Est-ce que ce texte utilise des parties de mots propres réservés à MySQL ?
Si oui, chaque ligne va bloquer ! Merci de votre aide.
j'ai mis le lien sur les mots réservés mySql5.6
pour le reste il faut analyser le dump
Bjr,
Merci aux contributeurs de nous aider. Juste une chose pour comprendre: comment se fait ce que les guides ovh ne mentionnent pas d'emblée les opérations adaptées à faire. J'ai suivi leur guide et ça ne fonctionnait pas. Je pense que ovh doit avoir la capacité à élaborer un guide complet avec tout ce qui soit à faire dès le départ et qui fonctionne. ça serait bien plus simple pour tous.
tu n'as pas entièrement tort, mais Ovh est un hébergeur, responsable du contenant
toi tu es responsable du contenu, ce n'est pas le même métier
merci bcp de votre retour précis. A ce moment ovh écrit dans le guide, on fait de notre mieux pour vous, mais attendez vous à ce que ça puisse ne pas fonctionner tout de meme. et ensuite retournez vous vers la communauté pour la suite
```text pour compléter le sujet, mini guide:

* remplacer
```text
) TYPE=MyISAM
```
par
```text
) ENGINE=MyISAM
```
* remplacer
```text
timestamp(14) NOT NULL,
```
par
```text
timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
```
---
* alternative en ssh, plus simple:
```text
sed -i 's/) TYPE=/) ENGINE=/' dump.sql
sed -i 's/timestamp(14) NOT NULL,$/timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,/' dump.sql
```
---
* alternative avec phpMyAdmin ? :
peut-être aussi tester avec phpMyAdmin (c'est pas mon truc) ?:
---
* si besoin, pour certaines bases exotiques, se référer aux mots clefs réservés: https://dev.mysql.com/doc/refman/5.6/en/keywords.html
à remplacer s'ils ont été mal employés
1. récupérer une sauvegarde de la base
2. **SAUVEGARDER** cette sauvegarde, ne pas travailler sur le fichier original
* utiliser un **VRAI** éditeur de texte pur (pas de truc Microsoft, pas textedit)
* sur windows notepad++ par exemple: https://notepad-plus-plus.org/downloads/
* sur Apple: à défaut d'expérience: https://atom.io/ ? ```