Page 1 sur 1

[databases] Conversion d’une base MariaDB vers Mysql 8 (résolu)

Publié : lun. 08 mars 2021, 17:11
par ignace72
Bonjour à tous.
Je viens de prendre un hébergement chez Gandi et ils utilisent Mysql.
J’ai une erreur à l’importation de ma base de données. l’erreur est la suivante :

Code : Tout sélectionner

#1064 - Erreur de syntaxe près de 'TRANSACTIONAL=0 COMMENT='Statistics on Columns'' à la ligne 14
La ligne 14 est la suivante :

Code : Tout sélectionner

/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0
J’ai lu qu’il y avait des incompatibilité entre MariaDB et Mysql 8.
J’aimerai convertir ma base de données MariaDB vers une base de données Mysql 8 mais je ne sais pas comment faire. J’ai regardé sur internet mais j’ai rien trouvé de probant.
Si quelqu’un sait comment faire ?
Merci.
Ignace.

Re: [databases] Conversion d’une base MariaDB vers Mysql 8

Publié : mar. 09 mars 2021, 07:46
par FoolEcho
Salut,

A priori COMMENT='Statistics on Columns' n'est pas implémenté côté mysql. Pas trop le choix que de modifier le script en supprimant cela... et ce n'est probablement que le début des ennuis...

https://mariadb.com/kb/en/mariadb-vs-my ... atibility/ ... pas trouvé d'équivalent clair dans l'autre sens, malheureusement... :?

Re: [databases] Conversion d’une base MariaDB vers Mysql 8

Publié : mar. 09 mars 2021, 10:57
par ignace72
Bonjour, FoolEcho.
Merci pour ta réponse.
Je vais installer Mysql 8 pour voir si import fonctionne.
Ignace.

Re: [databases] Conversion d’une base MariaDB vers Mysql 8

Publié : mar. 09 mars 2021, 11:28
par ignace72
J’ai une erreur à l’importation dans PHPMyAdmin :

Code : Tout sélectionner

#1064 - Erreur de syntaxe près de 'PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Column privileges'' à la ligne 10
Merci.
Ignace.

Re: [databases] Conversion d’une base MariaDB vers Mysql 8

Publié : jeu. 11 mars 2021, 15:29
par ignace72
Bonjour à tous.
Après avoir fait les changements préconisé ici https://stackoverflow.com/questions/307 ... error-1064
J’ai une autre erreur :

Code : Tout sélectionner

Erreur de syntaxe près de 'PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Column privileges'' à la ligne 10
Ma ligne 10 est la suivante :

Code : Tout sélectionner

/*!40101 SET NAMES utf8mb4 */;
Merci pour votre aide.
Ignace.

Re: [databases] Conversion d’une base MariaDB vers Mysql 8

Publié : jeu. 11 mars 2021, 17:33
par FoolEcho
Ces lignes sont particulières, elles ne sont pas forcément exécutées (cela peut être du commentaire, mais ce n'est pas le cas ici, c'est bien une commande).

Je ne suis pas sûr du tout que mysql connaisse PAGE_CHECKSUM, TRANSACTIONAL ni même COMMENT.

Le plus simple serait de créer ta nouvelle base normalement.
Puis d'importer les tables et enfin les données.

Comment tu réalises ton dump (la commande exacte) ?

Re: [databases] Conversion d’une base MariaDB vers Mysql 8

Publié : jeu. 11 mars 2021, 18:37
par ignace72
Bonsoir, FoolEcho.
Merci pour ta réponse.
À ce point là, je pense même repartir de zéro, d’une base vièrge.
Pour faire mon dump, j’utilise le script shell suivant :

Code : Tout sélectionner

#!/bin/bash
# Indique au système que l'argument qui suit est le programme utilisé pour exécuter ce fichier
# En règle générale, les "#" servent à mettre en commentaire le texte qui suit comme ici
DATE=`date '+%d%m%Y'`
cd /home/ignace/Web/ignace72.eu/
mysqldump  \
 --user=root \
 --password=xxxxxxxxxxxxxxxxx \
 --all-databases \
 --single-transaction \
 --result-file=localhost.${DATE}.sql
Ignace.

Re: [databases] Conversion d’une base MariaDB vers Mysql 8

Publié : jeu. 11 mars 2021, 22:03
par FoolEcho
Pour moi, tu devrais supprimer du dump les chaînes PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Column privileges' si elles existent. Mysql ne sait pas quoi en faire.
La ligne 10 ne correspond sans doute pas à celle que tu nous montres (comme dit précédemment, la ligne que tu pointes est particulière, ce n'est pas ce que remonte la trace).

Re: [databases] Conversion d’une base MariaDB vers Mysql 8

Publié : jeu. 11 mars 2021, 22:23
par ignace72
J’ai essayé en faisant les corrections que tu m’as proposé.
J’ai l’erreur suivante :

Code : Tout sélectionner

#1064 - Erreur de syntaxe près de 'PAGE_CHECKSUM=1 TRANSACTIONAL=1 COMMENT='Database privileges'' à la ligne 27
Voilà ma ligne 27 :

Code : Tout sélectionner

-- Table structure for table `ilp1p6w_actionscheduler_actions`
Ignace.

Re: [databases] Conversion d’une base MariaDB vers Mysql 8

Publié : jeu. 11 mars 2021, 22:27
par FoolEcho
C'est une ligne de commentaire... snif.
'--' indique un commentaire en SQL.

Il ne faut pas que tu te réfères au numéro de ligne sensu stricto de ton fichier. Cherche la chaîne qu'il t'indique.

(pour info, travaille sur une copie du dump, sait-on jamais)

Re: [databases] Conversion d’une base MariaDB vers Mysql 8

Publié : jeu. 11 mars 2021, 23:27
par ignace72
J’ai une copie original du dump.
Bon, je vais faire les modifications demain.
Ignace.

Re: [databases] Conversion d’une base MariaDB vers Mysql 8

Publié : ven. 12 mars 2021, 21:27
par ignace72
Bonsoir.

J’ai toujours une erreur mais les bases importantes on été créé.

J’ai corrigé utf8mb4 dans la ligne suivante :
/*!40101 SET NAMES utf8 */;

Donc le problème est résolu
Ignace.