Audit et optimisation MySQL 5

novembre 9, 2009

Arnaud Gadal DBA MySQL à Virgin Mobile, Pascal Borghino architecte base de données à Yahoo! (mes potos de dbnewz) et moi, venons juste de terminer l’écriture d’un livre consacré à l’audit et à l’optimisation d’un serveur MySQL.
A travers cet ouvrage, nous avons essayés de synthétiser nos différentes expériences pour vous aider à tirer le meilleur de votre base de données. Dans le livre nous abordons des sujets comme les architectures de réplication, le tuning du serveur, les moteurs de stockage, les logs…
Audit & optimisation MySQL 5 eet édité par eyrolles et devrait être disponible d’ici 4 à 6 semaines

5

Conférences MySQL au Forum PHP

octobre 20, 2009

Conférences MySQL au Forum PHP

Le MySQL User Group Francophone est partenaire avec l’AFUP du Forum PHP, qui se tient les 12 et 13 novembre 2009, à la Cité des Sciences et de l’Industrie.

Au programme des conférences dédiées à MySQL et MariaDB :

* mysqlnd / « MySQL native driver for PHP » : Les améliorations de la stack
* Au secours, ma base de données fait ramer mon application !
* LeMug : MariaDB, the future of MySQL avec Michael Widenius aka Monty
* Retour d’expérience sur l’utilisation de MySQL Chez Orange Business Services
* Réplication MySQL : retours d’expérience

Participez à cet événement et bénéficiez d’une offre exceptionnelle :
les deux journées du Forum PHP
+
l’adhésion 2009/2010 au MySQL User Group France

pour 140 euros au lieu de 200 euros !*

Suivez ce lien pour adhérer au MUG et recevoir votre badge pour le Forum PHP

*Tarif normal de l’accès deux jours au Forum PHP 180 euros + Adhésion annuelle au MySQL User Group 20 euros.

Commentaires fermés sur Conférences MySQL au Forum PHP

MySQL Query cache

octobre 12, 2009
Tags:

Le cache est toujours à jour car en cas de modification d’une table, toutes les requêtes en relations avec cette table sont invalidées.

Le cache de requêtes est en général utile lorsque:
Les modifications sur les tables ne sont pas très fréquentes
Beaucoup de requêtes de lectures identiques
Utilisation de tables MyISAM. Moins intéressant pour InnoDB

16

Utiliser XML avec MySQL 5.1 (part 5/5)

octobre 1, 2009

Voilà un petit panorama de l’utilisation des fonctionnalités XML de MySQL. Comme nous l’avons vu, générer le résultat d’une requête au format XML reste très simple avec le client texte mysql, idem pour la génération d’une sauvegarde (mysqldump). De plus, bien que n’étant pas un base de données XML, ont peut aisément y stocker des flux XML, et les parcourir ou les modifier grâce aux fonctions extractValue et updatexml, et une bonne dose d’XPath. Le support de ce dernier, par MySQL, reste encore assez basique, mais ce manque sera comblé progressivement dans les prochaines versions.

Commentaires fermés sur Utiliser XML avec MySQL 5.1 (part 5/5)

La 9ème édition du Forum PHP dans les starting-blocks

septembre 28, 2009
Tags: , ,

L’édition 2009 du rendez-vous incontournable des utilisateurs PHP en France s’installe à la Cité des Sciences de La Villette, les 12 et 13 novembre 2009.
Une édition qui mettra à l’honneur le couple PHP/MySQL, avec un invité de marque, pour la 1ère fois en France : Michael « Monty » Widenius.

Commentaires fermés sur La 9ème édition du Forum PHP dans les starting-blocks

Utiliser XML avec MySQL 5.1 (part 4/5)

septembre 16, 2009
Tags: ,

Les fonctionnalités XPath de MySQL 5

MySQL 5 offre la possibilité de pouvoir exécuter des requêtes XPath sur un flux XML, grâce à la fonction extractValue().

Le résultat récupéré est la concaténation de la valeur textuelle de chacun des nœuds trouvés (chaque valeur étant dissociée des autres par un espace blanc).

Comment récupérer la valeur de l’élément racine d’un flux XML ?

Commentaires fermés sur Utiliser XML avec MySQL 5.1 (part 4/5)

Forum MySQL: 12 et 13 Novembre 2009

septembre 8, 2009

L’association LeMug.fr (MySQL User Group francophone) organisera son forum MySQL avec l’aide de l’Association Française des Utilisateurs de PHP (http://www.afup.org) les 12 et 13 Novembre 2009 à la Cité des Sciences et de l’Industrie.

Plusieurs conférences sont prévues sur la base de données MySQL avec des intervenants de renom. Le programme est en cours de finalisation !

Les membres de l’association LeMug.fr bénéficient d’une réduction sur le tarif global !

Pour vous inscrire ou vous tenir au courant : http://afup.org/pages/forumphp2009/inscription.php

Commentaires fermés sur Forum MySQL: 12 et 13 Novembre 2009

L’Europe hésitante sur le rachat de Sun par Oracle

septembre 4, 2009
Tags: , ,

Avalisé par les autorités américaines de la concurrence, le rachat de Sun par Oracle patauge encore en Europe. Rien n’indique que l’exécutif européen donnera son feu vert pour le moment, car il vient d’ouvrir une enquête approfondie.

Rien n’est encore joué ! Bien que les autorités américaines aient donné leur accord pour le rachat de Sun par Oracle, à Bruxelles, le dossier est encore en standby.

C’est en tout cas ce que rapporte Reuters, expliquant que l’intégration de Sun, et notamment celle de MySQL, au portefeuille d’Oracle est relativement gênante. Car purement et simplement, ceci pourrait faire d’Oracle un acteur sur les bases de données en position dominante. Ce qui n’a pas semblé choquer les autorités américaines.

La Commission Européenne a d’ailleurs ouvert aujourd’hui une enquête approfondie sur la fusion des deux groupes. Celle-ci doit être conclue au plus tard le 19 janvier 2010 ! Le commissaire à la concurrence a déclaré que « La Commission doit examiner très soigneusement les effets sur la concurrence en Europe lorsque la première entreprise mondiale de base de données se propose de racheter la première entreprise mondiale de base de données open-source ». D’où les doutes entretenus jusqu’ici…

Soulignons également que Sun a très récemment annoncé une perte sèche de 147 millions de dollars (contre un bénéfice de 88 millions de dollars sur un an) et un recul des ventes de 31% sur le dernier trimestre fiscal.

Commentaires fermés sur L’Europe hésitante sur le rachat de Sun par Oracle

!include

août 13, 2009

my.cnf, comme vous le savez certainement est le nom du fichier de configuration de MySQL. Vous pouvez également le retrouver sous le nom de my.ini en environnement MS Windows. Il permet comme son nom l’indique de configurer votre serveur MySQL en y centralisant les options de … configuration. Le but ici n’est pas de détailler la longue liste des paramètres de MySQL, la documentation officielle est (presque) bien faite, mais de mettre le « focus » sur la directive !include (avec un « ! » devant).
Cette dernière permet d’inclure un fichier de configuration dans un autre (sic). Autant je suis un adèpte de la non duplication du code en dévellopement (des require_once en PHP utilisés avec modération ça vous simplifie bien votre code), autant je ne suis pas un grand fan pour éclater la configuration de mon serveur MySQL en plusiseurs endroits. Cependant 🙂 il faut avouerque parfois cela peut servir !
Alors comment ça marche ?
C’est (apparemment) très simple. Mon client mysql va chercher sa configuration dans différents endroits (définit à la compilation):

daz@daz-laptop:~$ mysql –help

Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf

Mon fichier de configuration se nomme /etc/mysql/my.cnf et il contient simplement la directive !include suivit du « vraie » fichier de configuration:

daz@daz-laptop:~$ cat /etc/mysql/my.cnf
!include /home/daz/sandboxes/msb_5_1_35/my.sandbox.cnf

Et au final dans mon fichier de configuration (au passage j’utilise le très pratique soft développé par Giuseppe Maxia : MySQL Sandbox):

daz@daz-laptop:~$ cat /home/daz/sandboxes/msb_5_1_35/my.sandbox.cnf
[mysql]
prompt=’mysql [\h] {\u} (\d) > ‘
[client]
port = 5135
socket = /tmp/mysql_sandbox5135.sock

Simple non ?
C’est (presque) tout, et ça marche…pas 🙁

daz@daz-laptop:~$ mysql

ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)

Une petite vérification s’impose:

daz@daz-laptop:~$ mysql –help
mysql Ver 14.14 Distrib 5.1.35, for pc-linux-gnu (i686) using readline 5.1

port 0
socket (No default value)

Les paramètres ne sont pas prit en compte. (commentaire de l’expert: ça ne peut donc pas fonctionner)

(30 minutes et beaucoups d’insultes plus tard…)

En fait, la subtilité, c’est de rajouter un saut à la ligne, à la fin de la commande !include /home/daz/sandboxes/msb_5_1_35/my.sandbox.cnf

daz@daz-laptop:~$ mysql –help
mysql Ver 14.14 Distrib 5.1.35, for pc-linux-gnu (i686) using readline 5.1

port 5135
socket /tmp/mysql_sandbox5135.sock

daz@daz-laptop:~$ mysql

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 5

Server version: 5.1.35-log MySQL Community Server (GPL)

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

mysql [localhost] {daz} ((none)) >

(commentaire de l’expert: ça fonctionne !)

Giuseppe Maxia

Commentaires fermés sur !include

Utiliser XML avec MySQL 5.1 (part 3/5)

août 10, 2009
Tags: ,

Interroger un flux XML avec Xpath

L’emploi de XML ne présenterait pas beaucoup d’intérêt sans la possibilité de pouvoir interroger sa structure pour accéder à une information particulière : le langage XPath répond à cette attente et est (en partie du moins) aujourd’hui intégré à MySQL. Mais avant de voir comment utiliser XPath à travers MySQL, il est nécessaire de se pencher sur la syntaxe de ses expressions, dont la construction la plus importante est sans conteste le chemin de localisation (location path).

Le chemin de localisation

De manière similaire à la navigation au sein d’un système de fichiers, un chemin de localisation se compose d’une succession d’étapes, séparées les unes des autres par un /. La description d’un chemin peut se faire de façon absolue ou relative, auquel cas un nœud contexte est utilisé afin de déterminer à partir de quel endroit doit s’effectuer la recherche.

Chaque étape d’un chemin de localisation peut se diviser en trois parties (axe de recherche, test du nœud et ensemble de prédicats), réunies sous la forme suivante :

Axis::Node-Test[Predicate1][Predicate2]…

L’axe de recherche (Axis)

L’axe de recherche permet de spécifier dans quel sens orienter la sélection des nœuds que l’on veut récupérer par rapport au nœud courant. Ainsi, il est possible de choisir de chercher dans l’ensemble des nœuds des descendants, plutôt que de se limiter (par défaut) aux nœuds directement enfants.

Commentaires fermés sur Utiliser XML avec MySQL 5.1 (part 3/5)