News MYSQL

le 24/04/2008 à 21:38
Meilleur suivi des utilisateurs MySQL
Maciej Dobrzanski signale deux patch MySQL qui améliorent grandement le suivi des utilisateurs MySQL.

Le premier est micro-slow, un patch qui donne la possibilité d'identifier les requêtes lentes en donnant une précision inférieure à la seconde, comme c'est le cas actuellement. La requête la plus lente qui soit mesurable doit faire au moins une seconde, ce qui est un filtre très large pour la plus part des requêtes SQL pour le Web. micro_slow permet de descendre sous cette barre.

Le deuxième est une série de nouvelles commandes SHOW : SHOW TABLE_STATISTICS, SHOW INDEX_STATISTICS et SHOW USER_STATISTICS. On peut maintenant suivre le nombre lignes lues, de connexions, de connexions simultanées, etc. pour un utilisateur durant sa durée de vie. Dans un environnement fortement multi-utilisateur, cela permet de faire la différence entre ceux qui sont inactifs, et ceux qui surchargent la machine.

- MySQL extensions for hosting
- Updated msl (microslow) patch, installation walk-through !
- Made good on my MySQL patch promise to make things better for everyone !!
Baron Schwartz publie un truc pour estimer la durée d'exécution d'une requête. Avec Explain, on peut obtenir une estimation du nombre de lignes qui devra être traité par MySQL. En divisant cela par Handler_read_rnd_next, qui est une mesure de la vitesse de lecture des données sur le disque, on peut obtenir une telle estimation.

Bien sur, ce chiffre est perturbé en cas de nombreuses requêtes simultanées.

- How to estimate query completion time in MySQL
MySQL a annoncé à ses partenaires qu'il va publier certaines fonctionnalités nouvelles uniquement à ses clients (via MySQL Enterprise). Le communiqué n'est pas encore en ligne, mais la fureur fait rage sur le sujet. Il y a, au moins, deux faces à cette histoire.

Une première qui concerne la sauvegarde. MySQL 6.0.4 et plus récent est livré avec des commandes de sauvegarde en ligne : backup et restore database. Elles permettent de faire des sauvegardes sur un serveur en production, sans passer par mysqldump. Ces commandes seront les premières à être affectées par la nouvelle politique de MySQL, puisque les versions à chaud, compressée et chiffrées (séparément) seront des services payants. En fait, comme le précise Guiseppe Maxia, BACKUP est bien livré en GPL, mais tous les services avancés sont des plug-ins payants.

L'autre aspect est le changement de politique de développement de MySQL. Jusqu'à présent, l'éditeur publiait tout son code en GPL, puis proposait des services complémentaires. La communauté, qui doit être 1000 fois plus grande que les clients, rapportait alors des bugs. Pour les plug-in ci-dessus, ce sera les clients qui vont déboguer, puisque la communauté n'y aura pas eu accès avant. C'est une décision purement business, qui fait du sens du point de vue de la valeur, mais reste difficile à accepter d'un point de vue technique : en fait, cela touche le modèle de développement originel de MySQL.

Enfin, il semble que cela soit une décision MySQL, qui avait été prise avant le rachat par SUN. Une preuve encore que cette fusion est en cours de réalisation, et que les surprises ne proviennent pas seulement de la nouvelle direction.

- Just announced: MySQL to launch new features only in MySQL Enterprise
- The whole story about online backup
- Making business decisions for the community and the enterprise
Gérer des hiérarchies dans une base de données est un problème. Il y a bien CONNECT BY PRIOR de chez Oracle, et le standard SQL définit par le UNION récursif de IBM, mais quand même... est-ce que cela ne serait pas agréable si les hiérarchies (ou même, des graphes complets comme un graphe social) pouvait fonctionner proprement dans une base relationnelle ?

C'est un sujet que Kim et moi ([NTJ :Arjen Lentz]) avons étudié depuis un moment. Le moteur qui en est sorti s'appelle OQGRAPH (OQ for Open Query), car un simple moteur GRAPH serait en conflit avec des symboles internes.

Arjen Lentz a finalisé un prototype de moteur pour OQGRAPH durant la conférence MySQL, et nous avons maintenant à attendre une version beta à tester pour MySQL 5.1. Encore une bonne raison de migrer directement à cette version !

- Hierarchies in SQL ? OQGRAPH engine backend preview
- GRAPH Storage Engine
Si vous utilisez MySQL depuis un moment, vous savez, malheureusement, que MySQL n'a pas d'interface pratique pour gérer les performances, comme les bases propriétaires peuvent avoir, telles que Oracle. Poser un diagnostic complet sur un système en sous-performances est un défi. Heureusement, les dernières versions de MysQL ont apporté de plus en plus de tableaux de bord pour surveiller les serveurs.

Une des dernières innovation est disponible dans le nouveau moteur de table transactionnel Falcon de MySQL 6.0. L'équipe Falcon a conçu de nouvelle tables dans la tabe information_schema, pour vous aider à comprendre comment Falcon se comporte, et quels sont les problèmes. Voyons donc de plus près ces tables, comment les utiliser.

- A look at Falcon Diagnostic Tables
- Téléchargement MySQL 6.0
Sans surprise, Sun annonce la version GA (generaly available) de MySQL 5.1, en guise d'ouverture de la conférence annuelle MySQL, à Santa Clara. C'est la version 5.1.23 qui est maintenant la version de référence, 30 mois après la sortie de 5.0.

Les formats habituels (windows, Solaris, freebsd, linux, macosx, source) sont disponibles dors et déjà.

Pour rappel, la version 5.1 apporte le support des partitions, du programmateur de tâches et de la réplication à la ligne, sans compter nombre de corrections diverses, et la possibilité de tester Maria, le dernier moteur de la maison MySQL AB.

- Téléchargements MySQL 5.1.23
- Sun Microsystems Announces MySQL 5.1
Il y a eu récemment une discussion comme sujet la mort de la réplication MySQL avec la participation de Brian Aker, puis Farhan, Arjen et Paul.

La prochaine génération de réplication approche et sera clairement à l'ordre du jour de l'industrie Les dirigeants et les adeptes pack. Nous devrions regarder et de se demander l'orientation de la programmation en se posant toutefois quelques questions. Tels que:

1. L'utilisation - Quel est / a été utilisée pour la réplication MySQL ?
2. Les motifs - Pourquoi était-il utilisé ?
3. Les problèmes - Pourquoi y a t-il un besoin pour quelque chose de meilleur, différent ou amélioré ?

Cependant vous pouvez obtenir les directions et orientations concernant cette futur réplication.

- Replication, Replication 2.0, Replication. suite
le 04/04/2008 à 23:11
Rencontre MySQL sur Paris
Note de l'auteur :

J'ai publié le compte-rendu de la rencontre de MySQL et Sun avec la communauté dans un dossier séparé. Ce fut une très belle rencontre, avec peu de discours et beaucoup de réponses aux questions qui entourent la fusion.

Il me faudra encore un peu de temps pour publier les photos de la rencontre AFUP de Lyon.

- Rencontre Sun/MySQL du 3 Avril 2008
- Photos de la rencontre Sun/MySQL du 3 Avril 2008
le 26/03/2008 à 23:10
Mieux protéger vos accès MySQL
Il y a souvent des identifiants de bases de données à mettre dans les scripts PHP : si vous êtes dans ce cas là, voici quelques idées pour renforcer votre sécurité.

Eviter d'utiliser un nom d'utilisateur trop unique. Unique, au sens de google: oui, prenez le nom d'utilisateur de votre base, et voyez ce que google vous répond.

- S'il y a aucun résultat, c'est bon signe.
- S'il y a quelques résultats, c'est mauvais signe. Vérifiez que vous n'y êtes pas.
- S'il y a trop de résultats, c'est bon signe.
- Réduisez les avec mysql_connect (ou votre fonction de connexion), pour vous assurer que rien ne traîne avec votre mot de passe
- Précisez votre recherche dans vos sites , via site: dans la ligne de recherche

Ces quelques étapes vous permettront de vérifier que votre nom d'utilisateur ne train pas trop dans les moteurs de recherche. Les surprises pourraient être très désagréables, notamment si le code PHP a été publié temporairement sans être traité par PHP, et que Google Cache a tout noté.

Une fois que vous avez fait tout cela, essayez d'utiliser vos identifiants Web pour vous connecter à distance sur votre serveur de base : il est recommandé de ne pas pouvoir le faire, et d'avoir des identifiants séparés pour cela.

Avec ces quelques étapes, vous devriez être rassurés sur ces aspects.
le 26/03/2008 à 23:08
Obfuscateur MySQL
Un obfuscateur MySQL est un logiciel qui modifie suffisamment les tables et colonnes d'une base de données, les données et les requêtes, pour qu'elles ne soient plus reconnaissables et puisse être postées dans un forum ou à l'interface de bogue de MySQL.

Cet outil pourrait libérer des quantités impressionnantes de rapporteurs de bogues, qui envoient souvent des rapports à l'éditeur, du genre "MySQL contient un bug" mais qui refusent de produire un cas d'utilisation, car "les données sont confidentielles".

Arjen Lentz sera le mentor de ce Google Summer of Code, et je ne peut que vous encourager à postuler.

SELECT bribes.senator_name
FROM mafia_projects
LEFT JOIN bribes
ON (YEAR(mob_projects.bribe_given) = bribes.date_taken)
WHERE secret_field = 'secret_value'

Deviendrait

SELECT char_field (width 20; not null; no index)
FROM myisam_table (size 500, row_format: fixed)
LEFT JOIN innodb_table (size 100)
ON (YEAR(date_field(not null)) = int_field
WHERE enum_field = valid_value_from_enum

- MySQL Obfuscator - Google Summer of Code Project up for grabs
- MySQL Obfuscator
LoadingChargement en cours