WampServer

Apache, PHP, MySQL on Windows 

 
  • Accueil forum
  • Retour à WampServer
  • presentation
  • Download
  • Addons
  • Formations
  • Alter Way

 
Voir le sujet: Précédent•Suivant
Aller à : Liste des Forums•Liste des messages•Nouvelle discussion•Recherche•Connexion•Imprimer la vue
Passage de versions mariadb_mysql et problème de largeur de colonne
Envoyé par: gpinpin (---.175.182.111.static.user.ono.com)
Date: 01 July 2021 à 10:41

Bonjour
Mes changements de versions se passent mal...
Je récupère en mariadb 10.5.8 le fichier sql
je passe en 10.5.9 ou 10.5.11j'ai des erreurs:
#1709 - Index column size too large. The maximum column size is 767 bytes

Si le même fichier je l'envoi en par exemple 10.4.17 cela va bien...

J'ai essayé de rajouter sur les tables à problème la variable "row_format=dynamic" à toutes les tables incriminées et plus d'erreur ... est-ce bon?

Merci d'avance
Gpinpin

Options: Répondre•Citer ce Message
Re: Passage de versions mariadb_mysql et problème de largeur de colonne
Envoyé par: Otomatic (Modérateur)
Date: 01 July 2021 à 12:00

Bonjour,

Je ne suis pas un spécialiste MariaDB, ni même SQL, mais pour passer d'une version à l'autre, dans la même branche, c'est-à-dire de 10.5.8 à 10.5.9 puis à 10.5.10 il existe une autre méthode — ce qui n'exclut absolument pas les exports en fichiers SQL pour sauvegarde — c'est de mettre ses bases de données en dehors du fichier data de MariaDB et d'exécuter mysql_upgrade.exe fourni avec chaque version.

MySQL/MariaDB Déplacer bases de données - MySQL upgrade

Je procède ainsi pour MySQL et MariaDB depuis très longtemps.
Et, pour information, en procédant ainsi, MySQL branche 8.0.x effectue mysql_upgrade automatiquement.

---------------------------------------------------------------
Documentation Apache - Documentation PHP - Documentation MySQL - Wampserver install files & addons

Options: Répondre•Citer ce Message
Re: Passage de versions mariadb_mysql et problème de largeur de colonne
Envoyé par: gpinpin (---.175.182.111.static.user.ono.com)
Date: 01 July 2021 à 16:33

Bonjour
Je ne connais pas du tout cette manip mais comme j'ai quelques versions d'installées avec leurs bases de données je peux revenir sur une ancienne base pour faire des tests au besoin.
En faite je ne fais pas que monter dans les version mais parfois redescendre.
Les bases de données exportées sont gardées au besoin en sql....
Je ne comprends pas ce problème de longueur de champ car cela était dans des versions inférieures...
Bref j'ai appliqué "row_format=dynamic" à mes tables impactées et ça fonctionnent.

Sur phpbb aucun souci sur le/les forums locaux ou en service sur site.
Seul me pause problème, les versions chevereto de stockage images, tant en site que sur wamp
Et cela pour toutes les version en dessus de la 3.18.3

Encore merci pour ta réponse
Gpinpin

Options: Répondre•Citer ce Message
Re: Passage de versions mariadb_mysql et problème de largeur de colonne
Envoyé par: Artemus24 (---.70.16.109.rev.sfr.net)
Date: 03 July 2021 à 16:20

Salut à tous.

#1709 - Index column size too large. The maximum column size is 767 bytes
Le message d'erreur indique que vous avez un débordement dans la taille de l'un de vos index.

L'explication vient du fait que la colonne en question est de type varchar() ou text et elle est indexée.
Vous utilisez comme jeu de caractères 'utf8mb4' ou 'utf8'.
Cela signifie qu'un caractère peut occuper de 1 jusqu'à 4 octets en mémoire.
Si vous avez une chaine de 256 caractères, elle peut occuper beaucoup plus.
De ce fait, vous utiliser un index qui est basé sur cette chaine de caractères et peut dépasse les 768 octets.

La solution est :
--> soit de ne pas indexer cette colonne,
--> soit réduire la taille de ce que vous désirez indexer
--> de modifier votre jeu de caractères, en passant à "latin1" (1 caractère = 1 octet).
--> d'utiliser pour vos rechercher le "full text search" ou FTS.

row_format=dynamic
Le format du stockage physique des lignes de la table est déterminé par ce paramètre.
En ce qui me concerne, j'utilise tout le temps "row_format=compressed" car cela permet de gagner de la place sur le disque.

"Dynamic" permet de compresser les colonnes et ainsi de réduire leur taille en mémoire.

@+

----------------------------------------------------------------------------------------------------------------------------------------------------------------
Mon site : [www.jcz.fr]

Options: Répondre•Citer ce Message
Re: Passage de versions mariadb_mysql et problème de largeur de colonne
Envoyé par: RobertG (---.w86-207.abo.wanadoo.fr)
Date: 22 July 2021 à 09:51

Bonjour,

Pour info : [mariadb.com]

Impossible d'installer Joomla 4 sur les versions de MariaDB supérieures à 10.4 si Wampserver a été préalablement installé avec une 10.3 ou 10.4.
Bien que la page citée précise qu'on est en ROW DYNAMIC à partir de MariaDB 10.2, ce n'est apparemment le cas que si on installe une version neuve de Wampserver, ce que j'ai fait : 3.2.3 avec MariaDB 10.5.4, puis mise à jour en 3.2.5 et là, l'installation de Joomla! 4 (RC5-dev aujourd'hui) fonctionne.
J'installe alors la verson 10.6.3 de MariaDB et tente une nouvelle installation, pla,ntage avec ce message :
La table 'j4rc5dev.fxhva_tags' n'existe pas

Dans les logs, "Version: '10.6.3-MariaDB' socket: '' port: 3306 mariadb.org binary distribution
2021-07-22 8:51:03 19 [ERROR] InnoDB: Cannot add field `images` in table `j4rc5dev`.`fxhva_tags` because after adding it, the row size is 8761 which is greater than maximum allowed size (8126 bytes) for a record on index leaf page."
Le champ en question est un champ TEXT NOT NULL

Pour résoudre le problème, il faut donc pour chaque nouvelle version de MariaDB passer par la console et changer les paramètres :
SET GLOBAL innodb_default_row_format='dynamic';

Options: Répondre•Citer ce Message
Re: Passage de versions mariadb_mysql et problème de largeur de colonne
Envoyé par: Otomatic (Modérateur)
Date: 22 July 2021 à 15:06

Bonjour,

> Pour résoudre le problème, il faut donc pour chaque nouvelle version de MariaDB passer
> par la console et changer les paramètres :
> SET GLOBAL innodb_default_row_format='dynamic';
Merci du retour.

Néanmoins, ce changement de paramètre ne sera effectif que pendant la session MariaDB jusqu'à ce que l'on quitte Wampserver ou que l'on redémarre MariaDB.
Pour rendre ce paramètre permanent, il faut le modifier dans le fichier my.ini :
innodb-default-row-format=dynamic

À partir de Wampserver 3.2.6, ce paramètre sera accessible via le menu MariaDB -> Configuration MariaDB

---------------------------------------------------------------
Documentation Apache - Documentation PHP - Documentation MySQL - Wampserver install files & addons

Options: Répondre•Citer ce Message


Aller à : Liste des Forums•Liste des messages•Recherche•Connexion
Désolé, seuls les utilisateurs connectés peuvent envoyer des messages dans ce forum.
Cliquer ici pour se connecter

design by jidePowered by Alter Way get firefoxget PHP