Bonjour,
J'ai upgradé récemment un SQL Privé 1 GO de MySQL 5.4 vers MySQL 5.7 (en passant par un MySQL 5.6)
Or la version MySQL 5.7 utilisé par OVH est très restrictive et semble poser des problèmes notamment à la MAJ Prestashop 1.7.1.
Depuis l'interface web je ne peux pas changer car il me dit aucune autre version disponible.
Quand j'ai choisit de prendre un SQL privé (il y a 4 ans) il était marqué qu'on pouvait choisir sa version désormais sur l'aide je vois que désormais seul un upgrade est possible.
Que puis-je faire ?
Merci
Bonjour,
OVH utilise les paramètres par défaut de MySQL 5.7 qui inclut effectivement quelques changements de configuration pouvant empêcher le bon fonctionnement de certaines requêtes. Le problème vient certainement du sql_mode. Si c'est le cas, une requête de ce type (adaptée à l'extension utilisée) permettrait de contourner le souci (même si ce n'est une solution pour l'avenir) :
mysqli_query($db, "SET SESSION sql_mode = ''");
Sinon, le changement de versions MySQL n'est justement pas qu'un simple changement à chaud, il me semble que cela change aussi plusieurs données de configuration. Ca ne doit pas être possible de downgrader soi-même, donc je pense qu'il faudra forcément contacter le support si tu choisis cette option…
Bonjour @chmod777,
Est ce que tu peux me fournir des détails sur la configuration qui pose problème ?
Cordialement,
Vincent
Bonjour Vincent,
Cela fait un petit moment de mon côté que j'ai fait la migration vers 5.7 mais de ce que je me souviens, c'était dû à ça :
The changes to the default SQL mode result in a default sql_mode system variable value with these modes enabled: ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ENGINE_SUBSTITUTION.
Et plus précisément, c'est celle du ONLY_FULL_GROUP_BY qui m'a posé plusieurs soucis. Il me semble que les versions < 5.7 avaient un sql_mode vide par défaut.
Bonjour Vincent,
1) MySQL 5.7 active le strict mode par défaut qui pose problème à la MAJ Prestashop 1.7.0.6>1.7.1 dans mon cas.
2) Il faudrait pouvoir switcher le strict mode facilement (depuis le manager du SQL privé ou phpmyadmin)
https://gist.github.com/wahyudibo/66f1f348f762e3e3c0b3272beb0b6e31
3) Il faudrait expliquer comment downgrader un SQL privé de 5.7 à 5.6 (là ça fait déjà 15mn que je suis en attente du support technique avec la musique d'ambiance) alors que peut être j'aurais pu le faire moi même.
MAj je viens d'avoir le support après 20mn d'attente qui me dit que c'est plus possible.
Je suis clairement déçu surtout qu'on a pas d'avertissements que le passage est définitif et lorsque j'ai pris le service SQL privé à l"époque c'était indiqué qu'on pouvait choisir sa version MySQL.
Je vais appeler le support facturation voir s'ils peuvent faire quelque-chose. MAJ Le support facturation me demande d'écrire une réclamation. ![]()
A l'époque vous vendiez le SQL privé comme la liberté c'est plutôt la prison aujourd'hui…
Bonjour Vincent,
Je rencontre aujourd'hui le même problème.
Avez-vous mis en place depuis l'année dernière une façon simple de passer de MySQL 5.7 vers MySQL 5.6 ?
Ou encore mieux de pouvoir changer la valeur de sql_mode facilement ?
Merci d'avance,
Paul
Bonjour,
UP sur le sujet car je rencontre le même problème pour ma solution GLPI.
Effectivement, laisser le choix à l'utilisateur du mode permettrait de résoudre le problème.
Merci d'avance pour votre retour.
J'ai résolu mon problème en modifiant ma connexion PDO à son instantiation, en m'inspirant de https://stackoverflow.com/a/8846103/1847249
```
$pdo = new PDO(
$dsn,
$username,
$password,
array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET sql_mode=""')
);
```
De cette façon je n'avais plus de problèmes liés au strict mode de MySQL 5.7 ![]()
Bonjour à tous,
Désolé de déterrer ce sujet mais je galère avec Dolibarr qui a un module incompatible avec MySQL 5.7, du coup je cherche à comprendre où est-ce que je dois modifier cette connexion PDO.
Je me doute que ça va être compliqué de m'aider sans plus d'infos, mais je ne sais pas quoi indiquer, du coup n'hésitez pas à me demander…
Bonjour, quel module de dolibarr ? Quelle erreur le module en question vous ressort-il ?
Bonjour,
C'est un module qui s'appelle https://www.dolistore.com/fr/modules/720-Agefodd-V2.html Agefodd V2 pour la formation.
Il me dit "Error field 'tms' doesn't have default value".
Je viens de faire 2 tests, sur MySQL 5.5 et 5.6 et ça fonctionne très bien, c'est comme ça que j'ai pu détecter que le problème venait de la version MySQL
Pour corriger cela il vous faut ajouter une valeur par défaut pour le champ "tms" d'une des tables utilisées par le plugin agefodd V2 (table que je ne saurai nommée n'utilisant ni dolibarr ni agefodd du coup :)).
J'ai déjà cherché à remplacer cette valeur… évidemment sans succès !
Je suis en train de me tourner vers un hébergeur SQL indépendant, https://www.nuxit.com/mysql-prive/, je pense que ça simplifiera tout et sécurisera mon besoin…
hum…
>un hébergement MySQL privé en option d’un hébergement Web Standard ou Performance. Notez que par défaut, un MySQL est inclu dans les offres Performance.
ça renifle les fesses à Ovh ça
rien que les dénominations commerciales, ça me ferait fuir
Je viens de les appeler pour avoir l'information car justement je suis en hébergement mutualisé chez OVH et je veux trouver autre chose.
Si tu as mieux à me soumettre, je suis évidemment preneur !
Sachant que le serveur dédié avec mon propre serveur MySQL ne me chauffe pas, c'est trop de compétences pour moi, je préfère déléguer…
Bonjour,
Nous souhaitons héberger DOLIBAR mais pas de réponse d'OVH…comment avez-vous finalement procédé ?
Merci
Bonjour,
Je suis passé chez un autre prestataire du coup, et ça fonctionne parfaitement !
@vcasse how to turn off this mode? We have 2019 and your company still didn't resolve this problem. I have website running on symfony 4 and it doesn't work with CloudDB because of "ONLY_FULL_GROUP_BY" is on.