Displaying posts with tag: MySQL (reset)
Influencer l’optimiseur de MySQL

Il est possible d’influencer l’optimiseur pour qu’il choisisse d’utiliser ou de ne pas utiliser un index particulier. Les clauses à placer dans votre requête SELECT sont les suivantes:

USE INDEX : utilise l’index passé en argument (MySQL ne l’utilisera pas si l’index est plus couteux qu’un full table scan)

FORCE INDEX : utilise l’index passé en argument (MySQL ne l’utilisera pas …s’il ne peut pas l’utiliser )

IGNORE INDEX : n’utilise pas l’index passé en argument

La plus part du temps, il se débrouille trés bien sans indications, mais parfois…

Dans cet exemple, j’utilise une table rental_daz inspirée de la table rental de la base de donnée sakila, voici sa structure:

12:14 daz$sakila> SHOW …
[Lire plus]
Lancement (officiel) du MySQL User Group.FR

Le MySQL User Groupe.fr (LeMUG.fr), association loi 1901, réunit les utilisateurs francophones de la base de données open source MySQL. (http://www.lemug.fr/)

LeMUG.fr poursuit plusieurs objectifs:

[Lire plus]
J’ai perdu mon mot de passe root…

En cas de perte du mot de passe root surtout si c’est votre seul compte (super) administrateur, vous vous trouvez dans une situation pour le moins embarrassante.
MySQL propose un moyen de s’en sortir. Certes, si le mot de passe est perdu vous ne pourrai pas le récupérer, car il est stocké haché dans la base:

mysql> SELECT user, password FROM mysql.user;
 +---------+-------------------------------------------+
 | user    | password                                  |
 +---------+-------------------------------------------+
 | root    | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
 +---------+-------------------------------------------+
 1 rows in set (0.39 sec)

Néanmoins il est possible de le changer. Voici les étapes à suivre:

1/ Arrêter le serveur MySQL

Cela ne devrait pas poser trop de problèmes:
mysql stop (sous linux)
NET STOP MySQL (sous windows)

[Lire plus]
MySQL 5.1.31

MySQL devrait sortir ce mois-ci la version 5.1.31, qui corrigera entre autre le bug #38883 concernant InnoDB, qui cause des crashs aléatoires, lors de l'interrogation du status innoDB du serveur:

  • SHOW INNODB STATUS
  • innodb-status-file=1
  • MySQL enterprise monitor
MySQL 5 : Les vues — (part 7/7)

(<- précédent)

Conserver la structure d’une table si elle doit être modifiée

La problématique est de mettre à jour le schéma de l’application en changeant la structure de certaines tables.

Changer le schéma a comme principal impact d’obliger de modifier les requêtes de l’application. Il sera donc nécessaire de les identifier pour les mettre à jour à leur tour, ce qui peut rapidement devenir fastidieux. Au travers de l’exemple qui suit, nous allons créer une vue qui va masquer le changement de table ce qui nous évite de modifier les requêtes applicatives. Une nouvelle version de l’application pourra utiliser la nouvelle table sans être obligé d’utiliser la vue, on assure ainsi la compatibilité ascendante.

Ma table de départ est la table livre:

CREATE TABLE 'livre' …
[Lire plus]
Mysql au Fosdem 2008 le dimanche 8 février.
  • Vladimir Kolesnikov: Practicing DBA's Guide to the PBXT Storage Engine
  • Kris Buytaert: Monitoring MySQL
  • Geert Vanderkelen: MySQL Cluster
  • Roland Bouman: MySQL 5.1 Plugins
  • Kaj Arnö: MySQL, powering and using Social Networks
  • Ewen Fortune: Percona MySQL patches and the XtraDB storage engine
  • Giuseppe Maxia: Boost performance with MySQL 5.1 partitions
  • Jurriaan Persyn: Database Sharding

Le programme détaillé est ici.

Ca se passe donc dans la Room AW1.126!

Moi je vais tenter d'aller voir Kris et Geert du Belgian Mysql User Group. Ainsi que Kaj Arnö et Giuseppe Maxia.

Résolutions pour 2009

C’est le début d’année et donc la période des résolutions! Tout utilisateur d’Oracle connait forcément Tom Kyte, grand guru Oracle et fondateur de Ask Tom. Il vient de poster les résolutions que tout DBA devrait avoir en 2009.

Et ce genre de résolutions fonctionne aussi très bien en MySQL.

  • Faire au moins 1 restore par mois. C’est bien de faire des backups mais que faire si vos backups sont corrompus et que votre DBs est naze?
  • Apprendre quelque chose de nouveau tous les jours
  • Participer à des forums et des communautés ( leMug.fr par exemple? )
  • Devenir un “mentor” pour un jeune DBA
  • Ne pas prendre de décisions hâtives, …
[Lire plus]
MySQL 5 : Les vues — (part 6/7)

(<- précédent)

Modifier automatiquement des données sélectionnées

Pour ce troisième exemple, nous allons nous intéresser au schéma (là encore très simplifié) d’une application qui permet de vendre des produits en France et au Royaume-Uni, en euro, livre et dollar. Cette application possède une table produit, qui contient le produit (son identifiant) et son prix hors taxe en euro.

Structure de la table produit:

CREATE TABLE produit (
  id_produit mediumint(8) unsigned NOT NULL auto_increment,
  prix_ht decimal(6,2) default NULL,
  PRIMARY KEY  (id_produit)
)

Nous disposons également des tables devise et tva qui gèrent respectivement le taux de change des devises et la TVA de différents pays.

Tables devise et tva:

CREATE TABLE …
[Lire plus]
Encore une question réccurente…

Bonjour à tous, c’est mon 1er post de l’année 2009, donc je vous souhaite à tous mes meilleurs voeux pour cette nouvelle année… Après 15 jours sans accés au réseau ( oui cela m’arrive une fois l’an ) me voila de retour en ligne. Comme le signalait arnaud, j’espère rencontrer le maximum de personne à Paris pour la soirée Open Source. En attendant, faisons un peu de MySQL!
La question du jour m’a été posée par mon ami Geoff et c’est une question assez simple. Comment mettre les differentes valeurs d’une colonne sur une ligne?

Sans rentrer dans les détails, nous avons une simple table qui stocke différents métrics mesurés sur plusieurs serveurs. Nous avons à faire une application de monitoring.

mysql> desc default_summary;

[Lire plus]
[14/01/2009] Dernières tendances de l’Open Source

Mercredi 14 Janvier Le MySQL User Group vous invite à une rencontre de débats et d'échanges autour des dernières tendances de l'open source, avec la participation des Club Utilisateurs GUSES (Solaris), JUG (Java) et OSS Get-Together Paris et la présence exceptionnelle de Simon Phipps, Sun’s Chief Open Source Officer