Bloginfo

Blog sur le logiciel libre, Linux et d'autres choses liées à l'informatique

Aller au contenu | Aller au menu | Aller à la recherche

mercredi 5 décembre 2007

Trou de sécurité béhant dans MySQL sous Linux

Je vous invite vivement à vérifier sur vos serveurs hébergeant des bases MySQL le contenu de la table user :

SELECT host,user FROM mysql.user;

Si vous voyez qu'il n'y a pas d'utilisateur associé à localhost et à localhost.localdomain (connexion anonyme ), je vous invite à effacer les deux lignes :

DELETE FROM mysql.user WHERE user='';
FLUSH PRIVILEGES;

Pensez à mettre un mot de passe à l'utilisateur root :

SET PASSWORD FOR root@'localhost'=PASSWORD('votre_mdp');
SET PASSWORD FOR root@'%'=PASSWORD('votre_mdp');

L'installation de MySQL au travers de paquets sous Linux ne permet pas - dans la plupart des cas - de spécifier le mot de passe du compte root !!! Sous Windows, lors de la configuration de l'instance après la copie des paquets, ne cochez pas la création de compte anonyme.

lundi 15 octobre 2007

MySql Check sans provision !

Eh oui, je ne sais pas si c'est d'avoir un Tchèque à la maison qui m'a mis dans cet état là. Toujours est-il qu'après l'avoir vérifié, je suis en mesure d'affirmer que MySQL 5.0.48 ne prend pas en charge les contraintes de vérification du genre :

ALTER TABLE client 
ADD CONSTRAINT ck_cp_client CHECK(cp_client BETWEEN 1000 AND 95999);

En mode InnoDb, MySQL l'accepte d'un point de vue syntaxique sans pour autant en tenir compte au moment de la saisie des données. Etonnant, non ?

samedi 13 octobre 2007

MySQL... à petits pas vers le payant

La base de données tant adulée par bon nombre de ceux qui ne connaissent pas PostgreSql fait un pas de plus vers le payant. A partir du 1er août 2006, les propriétaires de MySql 3.23 devaient s'affranchir de 495 euros pour pouvoir disposer des correctifs fournis par le service d'abonnement payant MySql Network. Les "heureux" propriétaires de la version 4.1 auront attendus le 1er octobre pour basculer dans le modèle payant afin de bénéficier des correctifs.

Désormais, seuls les clients payants ne pourront disposer que des binaires de la version Enterprise.

Rappelons qu'il a fallu attendre la version 5 du produit pour pouvoir disposer des fonctions d'un véritable moteur de base de données. Rappelons aussi que beaucoup de zones d'ombre planent autour du devenir de MySql : rachat d'InnoDb par Oracle, nouveau moteur relationnel en attente, rumeur de rachat par Oracle. Trois alternatives, de mon point de vue beaucoup plus sérieuses et pérennes, demeurent :

  • PostgreSql, la référence sous licence BSD, fork de Ingres
  • FireBird, un fork d'Interbase sous Gpl
  • Ingres, le précurseur avant Oracle des Sgbdr sous Gpl

MySql dispose d'un atout technique extraordinaire, de mon point de vue inégalé : la recherche sur des tables en mode Isam couplé à la recherche de type Full Index Text.

Source : LMI

Injections Sql

Un outil existe pour tester les attaques par injections Sql. SQL Power Injector, un freeware fonctionnant écrit en .Net, fonctionne sur les bases MySql, Oracle et Sql Server.

Jérémy m'a fait part d'un autre outil : Webgoat. A tester.

Le site Security Hack en recense 15.

samedi 19 mai 2007

Statitsiques sur la marché des bases de données

Chers amis, je suis inquiet... inquiet pour la santé financière de Microsoft, Oracle, Ibm et Sybase. Les chiffres du Gartner, ces oracles de la modernité, toujours friants à explorer les fiantes de dinde, montrent l'ampleur du désastre.

  • 49% des entreprises utiliseraient MySQL; 17% s'apprêtent à le faire
  • en 2008, 70% des DI auront franchi le rubicon de l'Open Source (qui n'a rien à voir avec la rivière italienne)
  • 56% des entreprises envisagent de migrer vers Linux pour leurs moteurs de bases de données
  • pire, 40% des entreprises pensent à remplacer leurs bases propriétaires par des bases Open Source

Pendant, sur le segment du marché commercial qui progresse de 14.3% en 2006, Oracle domine avec 44.4% des parts, soit 7,3 Md$ d'un marché mondial estimé à 16,5 Md$. IBM passe de 21.6 à 21.1%. C'est Microsoft qui explose les compteurs avec +25% enregistrant des revenus de 3,1 Md$, soit 18,6% du marché total.

Source : OpenForce, Lmi

Le décisionnel en Open Source

L'offre Open Source en matière d'informatique décisionnelle (reporting, serveurs d'analyse Olap, data mining) s'étoffe de jour en jour. L'essentiel de l'offre repose sur des produits développés Java, à l'exception de Palo qui propose un embryon sous .Net. Php est aux abonnés absents.

Générateur de graphiques

  • JFreeChart, en Java

Générateur d’états

Analyse / OLAP

  • Mondrian, serveur Olap intégré au projet Pentaho
  • JPivot, client Olap avec interface Web
  • Palo, serveur Olap développé en .Net
  • JPalo serveur Olap développé en Java
  • Cubulus

Data mining

  • Weka

Plateforme

  • Pentaho avec version commerciale
  • SpagoBI
  • Jasper Intelligence
  • Marvel IT

Pour plus d'infos sur ce sujet : l'excellent livre blanc de la société Smile

vendredi 4 mai 2007

Oracle : requêteurs et outils d'administration gratuits

La base de données Oracle, malgré l'avènement du logiciel libre, reste incontournable. Un excellent article sur la volumétrie est disponible sur Développez.com. Les logiciels libres et gratuits -deux choses différentes- fournissent des outils d'administrations et des requêteurs de grande qualité.

  • Toad Free Edition, ssous Windows, permet de créer les tables, index, vues et dispose d'un éditeur Sql. Le produit est limité à 5 utilisateurs
  • Tora est un clone de Toad qui s'exécute sous Linux et Windows. Avantage Tora.
  • Oracle SQL Developer, ex Raptor, sous Linux et Windows, exige la JRE et reste extrêmement perfectible !
  • DBA Companion sous Linux et Windows
  • SQL Tools sous Windows

mardi 24 avril 2007

La gestion des verrous sous Sql Server 2005

Y a pas que Sarkozy qui me laisse sans voix. Il y a aussi Microsoft Sql Server 2005 et sa gestion des verrous si particulière.

Sous Oracle, lorsque vous exécutez un ordre INSERTen mode transactionnel, vous posez un verrou sur ligne ce qui n'empêche nullement à quiconque d'exécuter un ordre SELECT sur table.

Sous Sql Server 2005, l'ordre INSERT ne vous permet d'utiliser un ordre SELECT que si vous employiez une clause WHERE ou bien si vous utilisez la clause WITH (NOLOCK) ou la clause WITH(READ UNCOMMITTED), le mode DIRTY qui vous permet d'accéder à l'environnement transactionnel des autres utilisateurs.

  • De la doc, hélas assez ancienne, sur ce sujet difficile d'accès d'Alexander Chigrik !
  • un très bon article sur ce sujet chez Christian Robert, grand spécialiste du produit

NB Je ne souviens pas de ce problème sous SQL Server 2000 !

mercredi 11 avril 2007

Récupérer son mot de passe root sous MySql

Arrêtez votre service MySql

  • sous Linux : /etc/init.d/mysql stop
  • sous Windows Xp ou W2k3 : sc stop mysql

Lancez MySql en mode sans échec sans tenir compte des tables systèmes de gestion des droits :

  • sous Linux : mysqld_safe --skip-grant-tables &
  • sous Windows : C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld --safe-mode --skip-grant-tables &

Connectez-vous à MySql en mode root : mysql -u root

A partir de MySql :

  • use mysql;
  • update user set password=PASSWORD(”newrootpassword”) where user=’root’;
  • flush privileges;
  • quit

Tuez le processus :

  • sous Windows : Ctrl+Maj+Echap
  • sous Linux : rm -f /var/run/mysqld

Source : Debian Admin

jeudi 5 avril 2007

Consoles Web sous Oracle 10g

A la condition de vous assurer que les services OracleDBConsoleorcl et OracleOraDb10g_home1iSQL*Plus soient démarrés, vous disposez d'interfaces Web pour, respectivement, administrer et effectuer vos requêtes sous Oracle 10g. Les logiciels sont développés sous J2E.

La première est accessible sur le port 1158 : http://localhost:1158/em/.

La deuxième est, quant à elle, disponible à partir du port 5560 : http://localhost:5560/isqlplus/.

mardi 3 avril 2007

La dernière release d'Oracle indisponible pour Win32 et Linux x86

La version 10.2.0.2 d'Oracle Database n'est pas disponible en version Windows 32 bits. Cette remarque vaut également pour les plates-formes Linux 32 bits. Pour les versions 32 bits, vous pouvez toutefois disposer de la version 10.2.0.1.0. Etrange ?

Source : Oracle

Télécharger la documentation Oracle 10g

Oracle met à votre disposition toute la documentation sur l'ensemble de ses produits.

Pour la 10g :

Vincent vous propose la doc Tahiti d'Oracle.

lundi 2 avril 2007

MySql : détecter les index inutilisés

Un petit utilitaire qui vaut son pesant d'or : mysqlidxchk. Il détecte à partir des logs les index qui ne sont pas utilisés.

MyTop : suivre les performances de MySql

Ceux d'entre vous qui utilisent Linux connaissent très certainement l'utilitaire de performances Top. MyTop est un outil de performances qui s'exécute en ligne de commandes à la présentation identique à Top et dédié à MySql. Il n'est disponible que sous Linux. Il peut être utilisé sous Windows avec Cygwin.

vendredi 2 mars 2007

MySql : index unique et caractères accentués

Par défaut, les champs de type VARCHAR dans MySql, si vous choisissez l'encodage Latin1, obéissent à des règles de constitution d'index qui ne tiennent pas compte des caractères accentués. Ce qui fait, par exemple, que les deux mots hérésie et heresie seront considérés comme deux valeurs identiques. Une hérésie ! ;+)

Par défaut, la propriété Column collate du champ est de type latin1_swedish_ci...ci pour case insensitive (cs pour case sensitive). Pour que vos index tiennent comptent des caractères accentués, passez cette propriété à latin1_general_ci.

Script MySql pour changer la table

ALTER TABLE `schema`.`table` 
ENGINE = InnoDB
CHARACTER SET latin1 COLLATE latin1_general_ci;

Script MySql pour changer un champ

ALTER TABLE `schema`.`table` MODIFY COLUMN `champ` VARCHAR(255) 
CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL, 
ENGINE = InnoDB;

mardi 6 février 2007

Microsoft prévoit le remplacement de Jet !

Microsoft s'apprête à remplacer son moteur Jet utilisé par Access par Sql Server Compact Edition.

Il ne s'agit pas vraiment d'un moteur de bases de données, mais bien plutôt d'un ensemble de bibliothèques à l'image d'un SQLite. Bof. Vous pouvez aussi utiliser PostGresql avec Odbc. Ca marche très bien.

->Télécharger Sql Server Compact Edition

lundi 29 janvier 2007

Le moteur relationnel Falcon de MySql peu performant

A l'occasion de la sortie du moteur relationnel Falcon pour MySql, le blog MySql Performance publie un comparatif de perf entre InnoDB, ISAM et Falcon. Falcon est dans le sac... grave. Pour rappel, InnoDb a été racheté par Oracle.

Options de requêtes MySql

Voici quelques options de requête qui amèneront des gains de performance extrêmement significatifs au niveau de MySql. Pour public averti.

dimanche 14 janvier 2007

Outils gratuits pour gérer et administrer une base de données MySql

Même s'il est loin d'être le meilleur, MySql n'en demeure pas moins un moteur très utilisé dans le domaine du développement Web. De nombreuses interfaces existent pour gérer et administrer la base.

Je ne vois pas l'intérêt que j'aurais à vous parler de l'offre payante tant l'offre gratuite me paraît excellente.

lundi 18 décembre 2006

Cloudscape, un moteur de base de données Ibm full Java

L'orientation Full Java dans laquelle s'enfonce IBM l'amène à proposer des nouveaux produits tels que Cloudscape. Ce produit semble s'appuyer sur un développement communautaire : Apache Derby. Souvenez-vous : récemment, IBM semblait regretter le choix de Sun à choisir la GPL pour Java. La firme américaine semblait préférer la licence Apache. Je commence à comprendre pourquoi !