Nouveautés MySQL 8.0 : Variables persistés

La nouvelle version MySQL 8.0 est sortie en Septembre 2016 et la dernière version disponible sortie en Février 2019 est la 8.0.15

Elle implémente beaucoup de nouvelles fonctionnalités et améliorations comme :

– Variables persistés (set persist)
– Dictionnaire de données transactionnel
– Support des rôles SQL
– Common Table Expression (CTE)
– Fonctions de fenêtrage (windowing)
– Indexes descendants et invisibles
– Histogrammes – Statistiques
– Groupes de Ressources
– Nouveau character set UTF8MB4 (emojis)
– Configuration automatique de variables (innodb_dedicated_server)

Ce premier article se fera sur les variables persistés en MySQL 8.0.14

MySQL permet de modifier les paramètres via des fichiers de configuration comme my.cnf ou my.ini, les modifications prenant effet au prochain redémarrage du …

[Lire plus]
MySQL Toolkit

J’ai finalement fait mon premier vrai commit sur GitHub, MySQL Toolkit.  Ce repository, avec un peu de temps, deviendra une collection de scripts, de fonctions, de procédures stockées et d’un tas d’autres choses utiles lorsque vous travaillez avec MySQL.  Pour l’instant toutefois, il n’y a que des fonctions.

Ce premier commit comprend:

collapse_blanks : Replaces multiple blanks with a single space.
collapse_spaces : Replaces multiple spaces with a single space.
initcap : Returns a character string with the first letter of each word converted to uppercase. This function EXACTLY mimics INITCAP of Oracle.
occurrences : Returns …

[Lire plus]
Compression et MySQL : la suite

Voici la suite de l’article dont je parlais précédemment ici.

Déplacer le répertoire de données (datadir) MySQL vers un nouvel emplacement sur Debian

L’objectif de cet article est de décrire la procédure pour déplacer et modifier le répertoire de données (datadir) MySQL vers un nouveau répertoire sur Debian 8.

Cet article est une suite de celui sur la resynchronisation d’un Slave MySQL : http://blog.capdata.fr/index.php/replication-mysql-resynchronisation-dun-slave-mysql.

En effet, suite à la resynchronisation du Slave MySQL avec le Master, notre client nous a demandé de faire en sorte que le répertoire de données sur le Slave soit le même que sur le Master.

Le Master avait son répertoire de données (datadir) sur /opt/mysql alors que le Slave avait le sien sur le répertoire par défaut, /var/lib/mysql.

Nous allons donc faire en sorte que les données et le répertoire de données correspondent au répertoire /opt/mysql sur le …

[Lire plus]
Réplication MySQL : Resynchronisation d’un Slave MySQL

L’objectif de cet article est de décrire la procédure de resynchronisation d’un Slave suite à un problème de réplication MySQL lié au Master.

Dernièrement, chez un client, un problème est survenu sur le Master d’une réplication MySQL.

En effet, le filesystem stockant les données MySQL (datadir) a été saturé et un nouveau disque d’une plus grande taille a été mise en place. Les données ont été déplacé sur ce nouveau disque mais la réplication MySQL avec le Slave n’a pas été remise en place.

Nous devons donc restaurer un backup FULL de 2 bases sur le Slave et relancer la réplication sur le Slave.

 

Voici donc la procédure qui inclus des actions tant sur le Master que sur le Slave donc bien vérifier sur lequel vous êtes !

 

Master (asterix)

  • Vérifier le status du Master
mysql -uroot …
[Lire plus]
MySQL 5.7 vs MySQL 8.0

Quelles sont les différences de performance entre les 2?  C’est tout expliqué ici.

Your ORM and SELECT FOR UPDATE

Les ORM (Object-relational mapping), une solution magique?  Pas vraiment!  Voici pourquoi !

MySQL Partition pruning Explained

Toutes les subtilités du partition pruning dans MySQL expliquées ici.

Comparatif MySQL dans le PaaS, épisode 2 : Azure

Dans l’épisode précédent, nous avions parlé de MySQL sur Google Cloud Platform, aujourd’hui nous allons comparer avec la solution proposée par Microsoft sur Azure.

MySQL et MariaDB dans le PaaS Azure

Si on rassemble toutes les bases de données dans le PaaS Azure pour une photo de famille, on obtient ceci :

– La partie de gauche regroupe les solutions basées sur le moteur maison SQL Server. Nous ne manquerons pas de vous parler en détail de ces solutions lors de prochains posts.
– En bas à droite, les bases non relationnelles type MongoDB / CosmosDB, dont on parlera aussi plus tard.
– Et enfin en haut à droite, ce qui nous intéresse, les solutions open-source, avec MySQL et PostgreSQL, mais aussi MariaDB qui fait son entrée dans la liste et qui est en public …

[Lire plus]
Compression et MySQL

La compression des données avec MySQL, est-ce performant?  Est-ce utile? Est-ce rapide?

La réponse dans cet excellent papier.