Nouveautés de la version automne 2008 de MySQL Enterprise (26 Nov 2008)

Découvrez le MySQL Query Analyzer, nouvelle fonctionnalité du MySQL Enterprise Monitor, grâce à laquelle vos systèmes MySQL pourront fonctionner aux niveaux d’évolutivité et de performances les plus élevés.



Date and Time: Wednesday, 26 Nov 2008, 10h00 CET (heure de Paris)

AUTO_INCREMENT: Différences MyISAM - InnoDB

La clause, AUTO_INCREMENT, permet à MySQL de générer un entier unique pour tout nouvel enregistrement d’une table. Cette clause ne peut se mettre que sur les champs de type entier, indexé et non nul. Elle est donc souvent utilisée comme clé primaire.

Cependant, sont comportement n’est pas tout à fait identique sur une table MyISAM et sur une table InnoDB.

mysql> CREATE TABLE table_myisam (id INT AUTO_INCREMENT PRIMARY KEY) engine=MyISAM;

mysql> SHOW CREATE TABLE table_myisam;

CREATE TABLE `table_myisam` (

`id` int(11) NOT NULL AUTO_INCREMENT,

PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=latin1

mysql> INSERT INTO table_myisam (id) VALUES (NULL),(NULL),(NULL),(100);

Query OK, 4 rows affected (0.02 sec)

Records: 4 Duplicates: 0 Warnings: 0

mysql> SELECT …

[Lire plus]
MySQL 5.0 : Un SGBDR mature ? — (part 4/4)

Déclencheurs

Les déclencheurs (triggers) sont des ordres de déclenchement d’opérations quand un évènement survient sur une table.

Des déclencheurs pour maintenir la cohérence des données

Ils sont souvent utilisés pour assurer la cohérence des données dans la base, en réalisant des contraintes qui doivent porter sur plusieurs tables.

Les déclencheurs combinés aux transactions permettent de créer tous les mécanismes d’intégrité référentielle. La norme SQL 3 a d’ailleurs imposé l’utilisation des déclencheurs.

Initialement prévu pour la version 5.1, l’équipe de développement à finalement profité d’une avance sur le calendrier de développement pour proposer une version simplifié des déclencheurs dans la version 5.0.

Syntaxe de base

CREATE TRIGGER trigger_nom
[DEFINER = { user | CURRENT_USER }]
{ BEFORE | AFTER }
{ INSERT | UPDATE | DELETE }
ON table …
[Lire plus]
LA manifestation PHP française

Le Forum PHP 2008 se déroulera les 8 et 9 décembre 2008, à l’ASIEM dans le VIIème arrondissement à Paris

Les principaux thèmes seront:

Web services professionnels et Grands projets en PHP : organisation, méthodes et bonnes pratiques.

Au programme également des conférences, dont la mienne:

Les solutions « Haute disponibilité » avec MySQL

Présentation des solutions de haute disponibilité offertes par MySQL Sujet abordés :

  • les solutions de clustering (MySQL Cluster)
  • réplication (MySQL Replication)
  • architecture Shared Disk Clustering

[Lire plus]
Job : PHP DEVELOPER

PHP DEVELOPER pour Delcampe International sprl

On recherche des développeurs avec plus d’un an d'expérience en php, à Petit-Enghien (entre Halle et Ath), l'équipe Delcampe est composée de 11 personnes pour gérer le support aux membres, les stratégies marketing et les évolutions techniques.

Mission:

  • S'intégrer à l'équipe de développement pour la maintenance et l'ajout de fonctionnalités. Vous aurez un rôle important au sein de notre équipe de développement et participerez à l'analyse et à la programmation des évolutions techniques. Vous aurez une grande responsabilité sur vos tâches, allant de la programmation aux tests et à la mise en production.
  • Utiliser différentes technologies, sur des environnements tant Linux que Windows : PHP, Javascript, AJAX, xHTML, XML, etc. ;
  • Optimiser l'ergonomie des applications développées ;
[Lire plus]
MySQL 5.0 : Un SGBDR mature ? — (part 3/4)

Procédures stockées et fonctions

Les procédures stockées sont des listes de commandes qui peuvent être compilées et stockées sur le serveur. Elles permettent de déplacer une partie de la logique métier d’une application de base de données du client vers le serveur. Les clients n’ont plus besoin de soumettre à nouveau toute la commande, mais font simplement référence à la procédure stockée.

Cela se traduit par une amélioration de la sécurité, une diminution de la redondance du code, et une augmentation des performances.

Des procédures stockées pour améliorer la sécurité

Elles peuvent fournir une protection contre les attaques d’injection SQL, principalement contre celles qui utilisent un opérateur AND ou OR pour ajouter des commandes à une valeur de paramètre d’entrée valide. Les programmes clients n’accédant plus directement aux tables. Toutes les opérations de gestion des …

[Lire plus]
Actualités MySQL

Voilà maintenant quelques jours que plusieurs nouvelles versions de MySQL sont sorties. Faisons le point.

En premier lieu, la version candidate 5.1.29 apporte, en plus des corrections de bugs habituelles, quelques changements notables concernant les options, certaines destinées à disparaître dans les prochaines versions. Par conséquent, il est dorénavant déconseillé d'utiliser l'option --skip-thread-priority, celle-ci étant vouée à disparaître dans la version 6.0. De plus, l'option --log est remplacée par --general_log et l'option --log-slow-queries est remplacée par --slow_query_log.

Changelog
Téléchargement

La version 6.0.7-alpha quant à elle propose de nouvelles options pour …

[Lire plus]
où sont les sources?

Mon ami Laurent essaye avec plus ou moins de succés à m’initier à la “continuous integration“… c’est ainsi que j’ai commencé à chercher les sources de MySQL!
En quelques secondes et avec cet excellent article sous le bras vous pouvez installer Bazaar et récupérer rapidement toutes les sources de MySQL… oui de la version communauté.
Qu’en est il de la version enterprise? Si vous n’avez pas de compte “enterprise”, une des seules solutions est d’aller les récupérer chez mes amis de Proven Scaling. …

[Lire plus]
MySQL 5.0 : Un SGBDR mature ? — (part 2/4)

Vues Des vues pour faciliter la visibilité

Les vues sont la plupart du temps utiles pour donner aux utilisateurs l’accès à un ensemble de relations représentées sous la forme d’une table. Une vue est une table virtuelle ; les données de la vue sont en fait des champs de différentes tables regroupées, ou des résultats d’opérations sur ces champs.

Des vues pour améliorer la confidentialité

Une vue n’est pas forcément un regroupement de plusieurs tables mais peut être un sous ensemble d’une table (ou de plusieurs) ce qui permet de cacher des champs aux utilisateurs.

Par exemple il ne sera pas forcément utile à tout le monde d’accéder aux champs indiquant les bénéfices réalisés sur un projet dans votre base comptable. Vous pouvez donc créer une vue contenant tous les champs de la table projet sauf le champs bénéfice.

L’approche avec MySQL 5 sera donc plus souple car …

[Lire plus]
MySQL: Le Book

Un gars sur IRC me demandait l’autre jour quel était “Le book” de MySQL. Il n’est évidemment pas possible de devenir expert en la matière avec un seul livre. Après quelques échanges, j’ai vite compris qu’il cherchait à améliorer l’utilisation qu’il en fait en tant que développeur d’application Web.

Je n’ai pas eu l’occasion (comprendre le temps) de lire des milliers de livres. Par contre dans ceux que je connais, je lui ai suggéré deux qui répondront bien à ce qu’il veut: MySQL 5.0 Certification Study Guide et MySQL Stored Procedure Programming.

Le Certification Study Guide se divise en deux parties distinctes: la …

[Lire plus]