mySQL changer taille maxi champID

Bonjour,
j'essaie de mettre à jour Talk sur mon nextcloud (offre perso2014)
L'erreur exacte est
An exception occurred while executing a query: SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes

Il semblerait que ce soit un probleme de configuration de la base.
La solution recommandée par owncloud est de passer à MySQL 8.0.
Je n'ai pas trouvé comment faire ce changement dans mon manager OVH

Bonsoir @DidierE5

Quel est le format du champ ?

Je n'en ai aucune idée.
Ce que j'ai pu lire sur ce probléme, c'est qu'il faut passer d'une codage sur 3 bits à un codage sur 4 bits avec les commandes suivantes
MariaDB [(none)]> use nextcloud;
MariaDB [nextcloud]> set global innodb_large_prefix=on;
MariaDB [nextcloud]> set global innodb_file_format=Barracuda;

Mais je n'ai pas les droits suffisants pour cela
Si j'ai bien compris ça permet de passer en BigInt

Je ne connais pas MariaDB.<br /><br />Mais avec MySQL le type de champ **TEXT NOT NULL DEFAULT &#39;&#39;** te permettrait <br />  d&#39;aller bien au delà de 767 Bytes.<br /><br />Extrait de https://dev.mysql.com/doc/refman/8.0/en/storage-requirements.html :<br /><img src="upload://rVz881CMfWt3tMgGY1vB6DIqFmU.png" width="690" height="459" loading="lazy" /><br /><br />Il doit y avoir la même chose pour MariaDB.

9 c'est vrai pour une version 8.0 de MySQL, il faudrait déja que je trouve comment passer la base à cette version sur mon hébergement

Bonjour,

si vous êtes sur un mutu, cherchez pas plus loin => pas possible à part acheter un SQL Privé

Cordialement, janus57

C'est bien ce que je craignais
Quitte à payer plus cher, autant changer de type d'hébergement.
Quel est l'bonnement minimal qui permet d'avoir la main sur la base ?

Bonjour,

le VPS, mais c'est à vous de tout gérer de A à Z (donc s'y connaitre en administration système).

Cordialement, janus57

Merci, je vais regarder.
Pas de soucis pour gérer un serveur


9 c'est vrai pour une version 8.0 de MySQL, il faudrait déja que je trouve comment passer la base à cette version sur mon hébergement

OK, voici pour MySQL 5.6 utilisé en mutualisé chez OVH :
https://dev.mysql.com/doc/refman/5.6/en/storage-requirements.html

<blockquote><br />MariaDB [(none)]&gt; use nextcloud;<br /></blockquote><br />Quelle version de MariaDB utilisez-vous ?<br /><br />https://mariadb.com/kb/en/text/<br /><br /><img src="upload://gI0BJwilM3BQ7FX5ZOxA8LURx2D.png" width="690" height="417" loading="lazy" />

Merci Gaston,
mais vu que nextcloud recommande la version 8.0, si je prends une base privée, je la prends en 8.0.
e suis actuellement en mutualisé en 5.6.

Bonjour,

en SQL privé y a le choix du SGBD, donc cela peut être MySQL ou MariaDB (voir du postgresql de mémoire).

Et Nextcloud sur du MariaDB je peux confirmer que ça fonctionne.

Cordialement, janus57

Nextcloud fonctionne bien sur le mutualisé, quoique un peu lent.
C'est l'ajout du module spreed/Talk qui me pose problème.
Le VPN, c'est l'offre pro à 7,19 € TTC/mois ?


j'essaie de mettre à jour Talk sur mon nextcloud (offre perso2014)
L'erreur exacte est
An exception occurred while executing a query: SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes

Il semblerait que ce soit un problème de configuration de la base.
La solution recommandée par owncloud est de passer à MySQL 8.0.
Je n'ai pas trouvé comment faire ce changement dans mon manager OVH



mais vu que nextcloud recommande la version 8.0, si je prends une base privée, je la prends en 8.0.
Je suis actuellement en mutualisé en 5.6.

D'accord, je voulais simplement montrer que ce soit pour MariaDB ou MySQL les versions du mutualisés OVH permettaient sans problème d'avoir des formats de colonnes avec des textes très long.

C'est simplement un problème de déclaration de format.
Bonjour,<br /><br />VPS &#61;&gt; https://www.ovhcloud.com/fr/vps/<br /><br />Et pour le SQL Privé vous avez le choix sur le SGBD, mais pas le choix de la configuration des options dessus (sauf certaines accessibles via le panneau d&#39;admin, mais aucun guide n&#39;en parle).<br /><br /><blockquote><br />C&#39;est simplement un problème de déclaration de format.<br /></blockquote><br />non ça dépend de la configuration du SGBD et surtout ici on parle d&#39;un index et pas d&#39;un champ TEXT<br />[quote]<br />For InnoDB tables that use COMPRESSED or DYNAMIC row format, you can enable the innodb_large_prefix option to permit **index key prefixes longer than 767 bytes** (up to 3072 bytes). Creating such tables also **requires the option values innodb_file_format&#61;barracuda** and **innodb_file_per_table&#61;true.**) In this case, enabling the innodb_large_prefix option enables you to index a maximum of 1024 or 768 characters for utf8mb3 or utf8mb4 columns, respectively. For related information, see Section 14.22, “InnoDB Limits”. <br />[/quote]<br />Cf : https://dev.mysql.com/doc/refman/5.6/en/charset-unicode-conversion.html<br /><br />Et de mémoire OVH est toujours en innodb_file_format&#61;Antelope<br /><br />Cordialement, janus57

J'avais bien compris , à conditions de prendre un SQL privé, car si je tente de modifier le format, je n'ai pas les droits.
J'ai essayé via un script php, pas mieux

Antelope, c'est pour le mutualisé ou le VPS ?

Bonjour,

comme dit plus haut VPS == vous le gestionnaire donc OVH n'installe que l'OS de base c'est à vous derrière d'installer le serveur web, SGBD, php, de sécuriser et de faire les backups ==> tout faire de A à Z (mais vous avez la main sur l'ensemble de la configuration).

De toute façons pour utiliser le plein potentiel de nextcloud, c'est pas possible sur un mutu, soit il faut un hébergement spécifique, soit il faut un serveur dédié pour ça.

Cordialement, janus57


non ça dépend de la configuration du SGBD et surtout ici on parle d'un index et pas d'un champ TEXT

D'accord, je n'avais pas fait attention à ce qu'il s'agissait d'un index.