MySQl version 8.
Modérateurs : jturlier, Météo Villarzel
- PascalWMR
- Messages : 328
- Enregistré le : 16 févr. 2014, 09:28
- Localisation : CONFLANS EN JARNISY (F54800)
- Contact :
MySQl version 8.
Bonjour
J'ai récemment eu la mauvaise surprise de constater que certaines pages de mon site ne s'affichaient plus. J'avais carrément une page blanche à la place.
Les navigateurs quels qu'ils soient me donnait une erreur 500. C'est le pieds pour trouver l'origine d'une erreur 500 .
Ces mêmes graphiques fonctionnaient normalement avec mon serveur de développement Wamp et avec le serveur web de mon NAS. Donc forcément, cela provenait d'un problème avec le serveur de mon hébergeur Hostpapa.
Bref à force j'ai trouvé.
Mon hébergeur a changé la version de MySQL pour passer à MySQL 8.0.x
Le problème c'est que certaines fonctionnalités et fonction de tri ont été supprimées.
En particulier, j’utilisais les fonctions de tri ASC et DESC dans la fonction de regroupement GROUP BY.
Cela n'est plus possible. Les fonction de tri ASC et DESC restent valable uniquement avec la fonction ORDER BY
Pour l'instant, j'ai réussi à corriger certaines requêtes SQL qui n'utilisent que des fonction de tri ascendant.
Il faut que je trouve la solution pour les requêtes qui utilisent un regroupement avec simultanément les fonctions de tri ASC sur un critère et DESC sur un autre critère.
HELP ME Jean
A+
Pascal
J'ai récemment eu la mauvaise surprise de constater que certaines pages de mon site ne s'affichaient plus. J'avais carrément une page blanche à la place.
Les navigateurs quels qu'ils soient me donnait une erreur 500. C'est le pieds pour trouver l'origine d'une erreur 500 .
Ces mêmes graphiques fonctionnaient normalement avec mon serveur de développement Wamp et avec le serveur web de mon NAS. Donc forcément, cela provenait d'un problème avec le serveur de mon hébergeur Hostpapa.
Bref à force j'ai trouvé.
Mon hébergeur a changé la version de MySQL pour passer à MySQL 8.0.x
Le problème c'est que certaines fonctionnalités et fonction de tri ont été supprimées.
En particulier, j’utilisais les fonctions de tri ASC et DESC dans la fonction de regroupement GROUP BY.
Cela n'est plus possible. Les fonction de tri ASC et DESC restent valable uniquement avec la fonction ORDER BY
Pour l'instant, j'ai réussi à corriger certaines requêtes SQL qui n'utilisent que des fonction de tri ascendant.
Il faut que je trouve la solution pour les requêtes qui utilisent un regroupement avec simultanément les fonctions de tri ASC sur un critère et DESC sur un autre critère.
HELP ME Jean
A+
Pascal
Station VP2Plus, Windows 10 64 bits,WeatherLink 6.0.5, VP2SQL, Graphiques Dynamiques à partir d'une BDD MySQL
Météo Conflans-en-Jarnisy
Météo Conflans-en-Jarnisy
-
- Messages : 332
- Enregistré le : 15 févr. 2014, 06:44
- Localisation : JARNY Meurthe-et-Moselle (54) Région Lorraine
- Contact :
Re: MySQl version 8.
Ma version PHP chez Kreativmédia est 8.1.25, je viens de vérifier quelques graphiques qui utilisent GROUP BY, ils fonctionnent.
J'ai eu un soucie pour mon autre site héberger chez OVH avec une galerie photo PHP, j'ai été obligé de repasser en 7.4, sinon en 8.3, elle ne fonctionnait pas, Erreur 500.
J'ai eu un soucie pour mon autre site héberger chez OVH avec une galerie photo PHP, j'ai été obligé de repasser en 7.4, sinon en 8.3, elle ne fonctionnait pas, Erreur 500.
Station VP2 Weatherlink 5.8.1 VP2SQL 3.0.0.17 NOAAtable 1.0.0.30 Windows 7 Pro
http://www.meteo-jarny.com/
http://www.meteo-jarny.com/
- PascalWMR
- Messages : 328
- Enregistré le : 16 févr. 2014, 09:28
- Localisation : CONFLANS EN JARNISY (F54800)
- Contact :
Re: MySQl version 8.
Salut Pascal
Attention, je ne parle pas de PHP je par de MySQL qui est le système de gestion des bases de données.
Il y a longtemps que je suis passé à PHP 8.x. De toute façon, à un moment on est obligé d'y venir ne serait-ce que pour les connections sécurisées à d'autres serveurs.
Par contre, pour MySQL, on a pas le choix de la version. C'est l'hébergeur qui met en place la version de MySQL sur ses serveurs.
Pour Kreatimedia je n'arrive pas à voir la version qu'ils utilise.
Je viens de regarder pour OVH, t'as encore le temps, ils sont passé à MySQL 5.6 (quand même) en octobre 2023 alors que ça fait plus de 5 ans que le version 8 existe ...
La fonction GROUP BY fonctionne toujours.
Ce qui n'est plus accepté c'est une fonction de tri avec une fonction de regroupement
ex: SELECT ..... GROUP BY annee ASC, mois DESC;
c'est à dire, grouper les données par annee en ordre croissant et par mois en ordre décroissant.
A+
Pascal
Attention, je ne parle pas de PHP je par de MySQL qui est le système de gestion des bases de données.
Il y a longtemps que je suis passé à PHP 8.x. De toute façon, à un moment on est obligé d'y venir ne serait-ce que pour les connections sécurisées à d'autres serveurs.
Par contre, pour MySQL, on a pas le choix de la version. C'est l'hébergeur qui met en place la version de MySQL sur ses serveurs.
Pour Kreatimedia je n'arrive pas à voir la version qu'ils utilise.
Je viens de regarder pour OVH, t'as encore le temps, ils sont passé à MySQL 5.6 (quand même) en octobre 2023 alors que ça fait plus de 5 ans que le version 8 existe ...
La fonction GROUP BY fonctionne toujours.
Ce qui n'est plus accepté c'est une fonction de tri avec une fonction de regroupement
ex: SELECT ..... GROUP BY annee ASC, mois DESC;
c'est à dire, grouper les données par annee en ordre croissant et par mois en ordre décroissant.
A+
Pascal
Station VP2Plus, Windows 10 64 bits,WeatherLink 6.0.5, VP2SQL, Graphiques Dynamiques à partir d'une BDD MySQL
Météo Conflans-en-Jarnisy
Météo Conflans-en-Jarnisy
-
- Messages : 332
- Enregistré le : 15 févr. 2014, 06:44
- Localisation : JARNY Meurthe-et-Moselle (54) Région Lorraine
- Contact :
Re: MySQl version 8.
Oui, j'ai mal lu ton post, la version MySQL chez Kreativmedia est 8.2.11, donc je devrais rencontré les mêmes problèmes que toi.
J'ai mis les nouvelles librairies et j'ai commencé à modifié un graphique, problème avec le module accessibility, problème avec les balises html text, cellpadding, c'est pas gagné tout ça, ça va prendre beaucoup de temps.
J'ai mis les nouvelles librairies et j'ai commencé à modifié un graphique, problème avec le module accessibility, problème avec les balises html text, cellpadding, c'est pas gagné tout ça, ça va prendre beaucoup de temps.
Station VP2 Weatherlink 5.8.1 VP2SQL 3.0.0.17 NOAAtable 1.0.0.30 Windows 7 Pro
http://www.meteo-jarny.com/
http://www.meteo-jarny.com/
- PascalWMR
- Messages : 328
- Enregistré le : 16 févr. 2014, 09:28
- Localisation : CONFLANS EN JARNISY (F54800)
- Contact :
Re: MySQl version 8.
Salut Pascal
A moins que tienne à développer ton site pour les personnes handicapées, et là c'est pas gagné parce que c'est coton et je ne crois pas qu'a notre niveau nous ayons les compétences, pour le module accessibility, voici la procédure pour supprimer le message d'alerte;
C'est pas le plus compliqué à résoudre.
Si tu veux un tooltip sous forme de tableau HTML (jolibeau), Il faut prendre l'habitude de renseigner dans la rubrique tooltip, les paramètres footerFormat: et headerFormat: puis de formatter chaque séries de données dans la rubrique tooltip de chaque série, comme ceci:
Exemple
Attention, la dernière version des librairies, ne supporte plus les lettres accentuées dans les format de date heure, paramètre xDateFormat: de la rubrique tooltip, puisque maintenant, le format de date dans les tooltip ne se défini plus avec la fonction Highcharts.dateFormat(dateFormat, this.x) mais dans le paramètre xDateFormat:
Attention donc,
xDateFormat:"%A %e %B %Y à %Hh %Mmn", affichera {point.key,"%A %e %B %Y à %Hh %Mm} <-- le à accentué n'est pas reconnu
alors que
xDateFormat:"%A %e %B %Y - %Hh %Mmn", affichera Samedi 09 Mars 2024 - 12h 45mn (par exemple)
Pour MySQL 8 si tu n'a pas utilisé de fonction de tri ASC ou DESC simultanément avec la fonction de regroupement, GROUP BY, tu ne devrait pas avoir de problème particulier.
Mais attention, il n'y a pas que cela qui a changé dans cette version. A voir donc.
A+
Pascal
A moins que tienne à développer ton site pour les personnes handicapées, et là c'est pas gagné parce que c'est coton et je ne crois pas qu'a notre niveau nous ayons les compétences, pour le module accessibility, voici la procédure pour supprimer le message d'alerte;
- Tu ne charge pas le module accessibility
- Tu met ce code juste avant la rubrique chart
Code : Tout sélectionner
accessibility:{ enabled:false, }, chart:{ blablabla },
C'est pas le plus compliqué à résoudre.
Si tu veux un tooltip sous forme de tableau HTML (jolibeau), Il faut prendre l'habitude de renseigner dans la rubrique tooltip, les paramètres footerFormat: et headerFormat: puis de formatter chaque séries de données dans la rubrique tooltip de chaque série, comme ceci:
Exemple
Code : Tout sélectionner
window.chart = new Highcharts.StockChart({
accessibility:{
enabled:false,
},
chart:{
blablabla,
}
tooltip:{
footerFormat:'</table>',
headerFormat:'<table style="padding: 0px; font-size:12px"><tr><td colspan="4" class="TD_Header_Tooltip">{point.key}</td></tr>',
}
series[{ // série 1
name: ...
data: ...
tooltip:{
pointFormatter:function(){
var s= '<tr><td style="text-align: left"><span style="color:'+[this.color]+'">\u25CF </span> '+[this.series.name]+'</td>'
s = s +'<td style="text-align: center">:</td>'
s = s +'<td style="text-align: right"><b>'+Highcharts.numberFormat(this.y,1,","," ")+'</b></td>'
s = s +'<td style="text-align: left"> hPa</td></tr>';
return s;
},
},
},
},{ // série 2 etc
...
}],
},
},
Attention donc,
xDateFormat:"%A %e %B %Y à %Hh %Mmn", affichera {point.key,"%A %e %B %Y à %Hh %Mm} <-- le à accentué n'est pas reconnu
alors que
xDateFormat:"%A %e %B %Y - %Hh %Mmn", affichera Samedi 09 Mars 2024 - 12h 45mn (par exemple)
Pour MySQL 8 si tu n'a pas utilisé de fonction de tri ASC ou DESC simultanément avec la fonction de regroupement, GROUP BY, tu ne devrait pas avoir de problème particulier.
Mais attention, il n'y a pas que cela qui a changé dans cette version. A voir donc.
A+
Pascal
Station VP2Plus, Windows 10 64 bits,WeatherLink 6.0.5, VP2SQL, Graphiques Dynamiques à partir d'une BDD MySQL
Météo Conflans-en-Jarnisy
Météo Conflans-en-Jarnisy
-
- Messages : 332
- Enregistré le : 15 févr. 2014, 06:44
- Localisation : JARNY Meurthe-et-Moselle (54) Région Lorraine
- Contact :
Re: MySQl version 8.
Pour le module accessibily, j'avais trouvé.
Pour align, j'avais également trouvé, j'ai remplacé par text-align.
Pour cellpadding, je l'ai carrément supprimé et ça fonctionne. Je n'avais pas vu le sujet où tu en parlais . Je construis mes tooltip comme tu l'indiques, j'en ai pris l'habitude depuis un bon moment.
Par contre, ça fait un petit moment que je m'arrache les cheveux avec 'à' dans le tooltip et comme il n'est plus supporter, j'aurais pu chercher longtemps. Le remplacé par '-' ne me plait pas beaucoup.
Je construit mes tooltip de cette façon
Et toi dans ton tooltip à la place de
tu utilises le point.key
J'ai essayé sur mon graphique, mais ça ne fonctionne pas et je ne trouve pas pourquoi. Et quelle la différence entre les deux.
https://www.meteo-jarny.com/Graphiques ... nsive.php
Si, j'ai des graphiques avec ASC et DESC avec GROUP BY, mais je n'en suis pas encore à ces graphiques.
Merci pour toutes ces infos
Pour align, j'avais également trouvé, j'ai remplacé par text-align.
Pour cellpadding, je l'ai carrément supprimé et ça fonctionne. Je n'avais pas vu le sujet où tu en parlais . Je construis mes tooltip comme tu l'indiques, j'en ai pris l'habitude depuis un bon moment.
Par contre, ça fait un petit moment que je m'arrache les cheveux avec 'à' dans le tooltip et comme il n'est plus supporter, j'aurais pu chercher longtemps. Le remplacé par '-' ne me plait pas beaucoup.
Je construit mes tooltip de cette façon
Code : Tout sélectionner
tooltip: {
enabled:true,
crosshairs: true,
shared: true,
split:false,
valueDecimals : 1,
borderColor: 'royalblue',
borderWidth: 1,
backgroundColor: '#2E2E2E',
dateTimeLabelFormats:{
day:"%A %e %B %Y",
hour:"%A %e %B %Y à %Hh %Mmn",
millisecond:"%A %e %B %Y à %H:%M:%S.%L",
minute:"%a %e %B %Y à %Hh %Mmn",
month:"%B %Y",
second:"%A %e %B %Y à %Hh %Mmn %Ss",
week:"Semaine depuis %A %e %b %Y",
year:"%Y",
},
footerFormat:'</table>',
headerFormat:'<table style="font-size:12px"><tr><td colspan="4">{point.x:%A %e %B %Y - %Hh %Mmin}</td></tr>',
xDateFormat:"%A %e %B à %Hh %Mmn",
},
series: [{
name: 'Température',
data: comArr(temp_out),
zIndex: 1,
color: '#FFFF00',
lineWidth: 1,
marker: {
enabled: false,
},
tooltip:{
pointFormatter:function(){
var s= '<tr><td text-align="left"><br /><br /><span style="color:'+[this.color]+'">\u25CF </span>'+[this.series.name]+'</td>'
s = s +'<td text-align="center">: </td>'
s = s +'<td text-align="right"><b>'+Highcharts.numberFormat(this.y,1,","," ")+'</b></td>'
s = s +'<td text-align="left"> °C</td></tr>';
return s;
},
},
}],
Code : Tout sélectionner
headerFormat:'<table style="font-size:12px"><tr><td colspan="4">{point.x:%A %e %B %Y - %Hh %Mmin}</td></tr>',
Code : Tout sélectionner
headerFormat:'<table style="font-size:12px"><tr><td colspan="4" class="TD_Header_Tooltip">{point.key}</td></tr>',
https://www.meteo-jarny.com/Graphiques ... nsive.php
Si, j'ai des graphiques avec ASC et DESC avec GROUP BY, mais je n'en suis pas encore à ces graphiques.
Merci pour toutes ces infos
Station VP2 Weatherlink 5.8.1 VP2SQL 3.0.0.17 NOAAtable 1.0.0.30 Windows 7 Pro
http://www.meteo-jarny.com/
http://www.meteo-jarny.com/
- PascalWMR
- Messages : 328
- Enregistré le : 16 févr. 2014, 09:28
- Localisation : CONFLANS EN JARNISY (F54800)
- Contact :
Re: MySQl version 8.
EUREKA
J'ai trouvé la parade pour les caractères accentués.
Dans la rubrique tooltip,
désactiver en mettant 2// dateTimeLabelFormats:{}
désactiver en mettant 2// xDateFormat:
et au lieu de
mettre
C'est pas très catholique comme solution mais ça fonctionne.
Pourquoi j'utilise {point.key}: C'est marqué là https://api.highcharts.com/highcharts/t ... aderFormat
A+
Pascal
J'ai trouvé la parade pour les caractères accentués.
Dans la rubrique tooltip,
désactiver en mettant 2// dateTimeLabelFormats:{}
désactiver en mettant 2// xDateFormat:
et au lieu de
Code : Tout sélectionner
headerFormat:'<table style="padding: 0px; font-size:12px"><tr><td colspan="4" class="TD_Header_Tooltip">{point.key}</td></tr>',
Code : Tout sélectionner
headerFormat:'<table style="padding: 0px; font-size:12px"><tr><td colspan="4" class="TD_Header_Tooltip">{point.key:%A %e %B %Y} à {point.key:%Hh %Mmn}</td></tr>',
Pourquoi j'utilise {point.key}: C'est marqué là https://api.highcharts.com/highcharts/t ... aderFormat
A+
Pascal
Station VP2Plus, Windows 10 64 bits,WeatherLink 6.0.5, VP2SQL, Graphiques Dynamiques à partir d'une BDD MySQL
Météo Conflans-en-Jarnisy
Météo Conflans-en-Jarnisy
-
- Messages : 332
- Enregistré le : 15 févr. 2014, 06:44
- Localisation : JARNY Meurthe-et-Moselle (54) Région Lorraine
- Contact :
Re: MySQl version 8.
Bien vu Pascal, en effet, ça fonctionne parfaitement
Merci pour le lien, je vais regardé
Pascal
Merci pour le lien, je vais regardé
Pascal
Station VP2 Weatherlink 5.8.1 VP2SQL 3.0.0.17 NOAAtable 1.0.0.30 Windows 7 Pro
http://www.meteo-jarny.com/
http://www.meteo-jarny.com/
- jturlier
- Administrateur du site
- Messages : 394
- Enregistré le : 10 déc. 2014, 10:20
- Localisation : Sérignan 34410
- Contact :
Re: MySQl version 8.
Bonsoir Pascal,PascalWMR a écrit : ↑06 mars 2024, 09:09Bonjour
J'ai récemment eu la mauvaise surprise de constater que certaines pages de mon site ne s'affichaient plus. J'avais carrément une page blanche à la place.
Les navigateurs quels qu'ils soient me donnait une erreur 500. C'est le pieds pour trouver l'origine d'une erreur 500 .
Ces mêmes graphiques fonctionnaient normalement avec mon serveur de développement Wamp et avec le serveur web de mon NAS. Donc forcément, cela provenait d'un problème avec le serveur de mon hébergeur Hostpapa.
Bref à force j'ai trouvé.
Mon hébergeur a changé la version de MySQL pour passer à MySQL 8.0.x
Le problème c'est que certaines fonctionnalités et fonction de tri ont été supprimées.
En particulier, j’utilisais les fonctions de tri ASC et DESC dans la fonction de regroupement GROUP BY.
Cela n'est plus possible. Les fonction de tri ASC et DESC restent valable uniquement avec la fonction ORDER BY
Pour l'instant, j'ai réussi à corriger certaines requêtes SQL qui n'utilisent que des fonction de tri ascendant.
Il faut que je trouve la solution pour les requêtes qui utilisent un regroupement avec simultanément les fonctions de tri ASC sur un critère et DESC sur un autre critère.
HELP ME Jean
A+
Pascal
n'ayant pas la version 8 de MySQL, je ne peux pas tester, tu peux peut-être essayer qq chose comme ça :
select * from minimaxi group by 1 desc; Il semble me souvenir que c'était ce qu'on utilisait en SQL92... c'était hier
Tu peux aussi essayer de supprimer le ONLY_FULL_GROUP_BY
Si tu n'as pas de variables globales particulière pour Sql_mode, tu peux simplement passer cette commande : SET GLOBAL sql_mode = '';
Voir https://stackoverflow.com/questions/358 ... -sequelize
Honnêtement, je n'ai pas beaucoup d'idées sur le sujet !!!
Bien amicalement
Jean
Jean
Station :
VP2pro + anémomètre ultrasons et console Vue
Cumulus 1.9.4 + Cumulus2SQL + MySQL
Audio :
FR
PC :
W10 64bits migré
http://meteoserignan.ddns.net
Station :
VP2pro + anémomètre ultrasons et console Vue
Cumulus 1.9.4 + Cumulus2SQL + MySQL
Audio :
FR
PC :
W10 64bits migré
http://meteoserignan.ddns.net
- PascalWMR
- Messages : 328
- Enregistré le : 16 févr. 2014, 09:28
- Localisation : CONFLANS EN JARNISY (F54800)
- Contact :
Re: MySQl version 8.
Salut Jean
J'ai lu la doc de MySQL 8 et effectivement les fonctions de tri utilisée simultanément avec une fonction de regroupement ne fonctionnent plus.
Il faut d'abord regrouper les données avec GROUP BY puis les trier après avec ORDER BY
En fin de compte c'est logique.
Par exemple
Avec MySQL antérieur à 8, l'on aurait pu écrire
Maintenant, avec MySQL 8 il faut écrire
Le code est plus long mais logique
L'on peut aussi écrire GROUP BY 1,2 et ORDER BY 1 DESC, 2 ASC puisque les 2 champs sont dans la clause SELECT.
Si les champs ne sont pas dans la clause SELECT on nomme alors les champs dans les fonctions de regroupement et de tri
Donc pour Pascal, j'ai aussi résolu le problème de tri multiple que j’évoquai dans mon 1er post
A+
Pascal
J'ai tout essayé Jean ça ne fonctionne plus.jturlier a écrit : ↑15 mars 2024, 22:45
Bonsoir Pascal,
n'ayant pas la version 8 de MySQL, je ne peux pas tester, tu peux peut-être essayer qq chose comme ça :
select * from minimaxi group by 1 desc; Il semble me souvenir que c'était ce qu'on utilisait en SQL92... c'était hier
Tu peux aussi essayer de supprimer le ONLY_FULL_GROUP_BY
Si tu n'as pas de variables globales particulière pour Sql_mode, tu peux simplement passer cette commande : SET GLOBAL sql_mode = '';
Voir https://stackoverflow.com/questions/358 ... -sequelize
J'ai lu la doc de MySQL 8 et effectivement les fonctions de tri utilisée simultanément avec une fonction de regroupement ne fonctionnent plus.
Il faut d'abord regrouper les données avec GROUP BY puis les trier après avec ORDER BY
En fin de compte c'est logique.
Par exemple
Avec MySQL antérieur à 8, l'on aurait pu écrire
Code : Tout sélectionner
SELECT `annee`,`mois`,AVG(`t_out_mini`) FROM `minimaxi` WHERE 1 GROUP BY `annee` DESC, `mois` ASC
Code : Tout sélectionner
SELECT `annee`,`mois`,AVG(`t_out_mini`) FROM `minimaxi` WHERE 1 GROUP BY `annee`,`mois` ORDER BY `annee`DESC, `mois`ASC
L'on peut aussi écrire GROUP BY 1,2 et ORDER BY 1 DESC, 2 ASC puisque les 2 champs sont dans la clause SELECT.
Si les champs ne sont pas dans la clause SELECT on nomme alors les champs dans les fonctions de regroupement et de tri
Donc pour Pascal, j'ai aussi résolu le problème de tri multiple que j’évoquai dans mon 1er post
A+
Pascal
Modifié en dernier par PascalWMR le 16 mars 2024, 10:03, modifié 1 fois.
Station VP2Plus, Windows 10 64 bits,WeatherLink 6.0.5, VP2SQL, Graphiques Dynamiques à partir d'une BDD MySQL
Météo Conflans-en-Jarnisy
Météo Conflans-en-Jarnisy