Actualité MySQL

Piwik 1.0
Connaître la fréquentation d'un site web est un des critères important que demandent les utilisateurs lors de la mise en ligne d'un projet web. Piwik va répondre à votre attente, car il s'agit d'une application de mesure d'audience de sites internet et en temps réel. La prise en main a été développé en PHP et MySQL sous licence GPL. Il se paramètre très facilement. Le résultat obtenu, vous permet d'obtenir un rapport détaillés sur les visiteurs de votre web sous la forme graphique et de tableaux. Par ailleurs, une interface de recherche vous permet d'afficher les résultats souhaités Piwik site officiel (0 visite) www.nexen.net | 9/2/10 10:21 PM
Nombre de résultats d'une recherche SphinxSe
Sphinx est un moteur de recherche full-text On peut l'interroger au travers de son api, SphinxQL, en ligne de commande ou avec l'engine MySql SphinxSE J'utilise MySqlSE; [Mysql] SELECT * from INFORMATION_SCHEMA.ENGINES; ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS ---------- ------- --------------------------- ------------ ------ ---------- ... SPHINX YES Sphinx storage engine 0.9.9 NO NO NO La question du jour était : Y a-t-il un moyen de connaître le nombre total de résultats quand on utilise un limit ? En Mysql simple, il y a SQL_CALC_FOUND_ROWS [mysql] mysql> SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name -> WHERE id > 100 LIMIT 10; mysql> SELECT FOUND_ROWS(); Le second SELECT retourne un nombre indiquant combien de lignes le premier SELECT aurait retourné s'il n'avait pas été écrit avec une clause LIMIT. Mais avec avec SPHINX En testant sur ma table tbl_name_sphinx qui contient 2410 rows. [mysql] select SQL_CALC_FOUND_ROWS * from tbl_name_sphinx WHERE query='' LIMIT 10; SELECT FOUND_ROWS(); Résultat FOUND_ROWS() ------------ 20 20 parce que c'est la valeur par défaut du limit (ref) # limit - amount of matches to retrieve from result set, default is 20; Comme de fait [mysql] select SQL_CALC_FOUND_ROWS * from tbl_name_sphinx WHERE query=';limit=10'; SELECT FOUND_ROWS(); Résultat FOUND_ROWS() ------------ 10 Pourquoi ? parce que c'est sphinx qui fait la vraie recherche et remonte son résultat à MySql Donc quand je fait [mysql] select SQL_CALC_FOUND_ROWS * from tbl_name_sphinx WHERE query=';limit=1000' LIMIT 10; Je reçois 10 résultats sur 2410 réels et sur les 1000 que sphinx a remonté Donc [mysql] SELECT FOUND_ROWS(); affiche 1000 et pas 2410. Donc je vais monter mon limit à 1000000. Gloups, je viens de demander à Sphinx de me préparer en résultat de 100K rows, tout renvoyer à mysql dans une table temporaire qui me retournera uniquement les 10 premiers.... Fameux gaspillage Quand on sait que sphinx ne me retourne que les id et que donc il faut faire un join avec la table de données, ca fait mal. la solution SHOW ENGINE SPHINX STATUS; On oublie le 'SQL_CALC_FOUND_ROWS' Et on remplace FOUND_ROWS() par SHOW ENGINE SPHINX STATUS; On remet le limit 10 au niveau de sphinx; [mysql] select * from tbl_name_sphinx WHERE query=';limit=10'; SHOW ENGINE SPHINX STATUS; Type Name Status ------ ------ ------------------------------------------------- SPHINX stats total: 1000, total found: 2410, time: 0, words: 0 Bingo j'ai mon info, planquée dans une "chaine" mais je l'ai. Alors, petite inspection dans INFORMATION_SCHEMA. re bingo [mysql] SELECT * from information_schema.GLOBAL_STATUS WHERE VARIABLE_NAME like 'SPHINX%'; VARIABLE_NAME VARIABLE_VALUE ------------------ -------------- SPHINX_ERROR 208409 SPHINX_TIME 0 SPHINX_TOTAL 1000 SPHINX_TOTAL_FOUND 2410 SPHINX_WORD_COUNT 0 SPHINX_WORDS Et je suis un heureux. Si vous êtes intéressés par Sphinx, voici un bon article pour l'installer. Si vous vous êtes déjà intéressé à Zend_Search_Lucene, (bien décrit ici) il me semble avoir que celui-ci peut utiliser Sphinx comme backend. je corrigerai si je retrouve la source. moosh.et.son.brol.be | 9/2/10 12:45 AM
Gauffr : Identification unique
Gauffr est une application réalisée en PHP/MySQL/eZ components et va vous permettre de proposer une solution d'authenfication unique sous la forme d'une couche abstraction. A partir de Gauffr, vous pourrez vous connecter avec les mêmes identifiants à DotClear, eZ Publish, MediaWiki... grâce à la présence d'une gestion de plug-ins et vous permettra d'ajouter d'autres projets PHP. La prise en main se fait facilement grâce à une documentation complète. Aussi, vous pourrez suivre les connections avec la présence des LOGs. Gauffr site officlel (0 visite) www.nexen.net | 8/26/10 11:37 PM
CERTA-2010-AVI-399 : Vulnérabilités dans MySQL (24 août 2010)
De nombreuses vulnérabilités présentes dans MySQL ont été corrigées. Les plus importantes permettent à un utilisateur malveillant d'exécuter du code arbitraire à distance. www.certa.ssi.gouv.fr | 8/25/10 2:10 AM
La communauté OpenSolaris se dissout pour protester contre Oracle
Le géant du logiciel Oracle a racheté en avril 2009 son concurrent Sun Microsystems pour 7,4 milliards de dollars. Il s'était alors engagé à investir encore plus que Sun dans Solaris, MySQL et SPARC, pour rassurer les anciens clients de Sun. www.pcinpact.com | 8/24/10 4:53 PM
Actualité de développement PECL, edition 280
8 paquets ont été mis à jour cette semaine : Semaine du 17 Aout 2010 mysqlnd_uh 0.1.0a1 imagick 3.0.1RC1 stomp 1.0.2 timezonedb 2010.11 timezonedb 2010.12 Semaine du 24 Aout 2010 dbase 5.0 amqp 0.1.1 imagick 3.0.1RC2 PECL est la bibliothèque d'extensions C de PHP. PECL Tous les paquets PECL www.nexen.net | 8/24/10 6:55 AM
TokuDB v4.1
Après quelques mois de développement, la nouvelle monture de TokuDB vient de sortir. Ce projet est un moteur de stockage MySQL et améliore les performances pour les bases de données volumineuses, en accélérant l'indexation par fois 10 à fois 50. Cette nouvelle version apporte par ailleurs de nombreuses autres évolutions, comme : Une interface simplifiée Conforme aux Transactions ACID Elimine les goulots d'étranglements Simplification de la configuration MySQL Rapidité etc Bien sur, de nombreuses ressources ont été mis à jour comme le livre blanc Communiqué TokuDB v4.1 (0 visite) www.nexen.net | 8/23/10 11:21 PM
tine 2.0, une plateforme collaborative
La nouvelle version de Tine vient de sortir, réalisée en PHP 5.2.x et MySQL 5, sous licence Open source. Son but consiste de proposer une plateforme collaborative associé à un CRM. Il va vous permettre de regrouper et de rassembler les informations importantes dans un même espace, au sein de votre entreprise. Cette solution regroupe : Un carnet d'adresses Un gestionnaire de taches Un suivi de dossier sous la forme de CRM Exportation en PDF Une consultation pour support mobile La gestion Administrative de la VOIP etc L'installation et la configuration ont été simplifiées au maximum pour permettre une meilleure utilisation de cet outil.  Tine site officiel (0 visite) Demo en ligne de Tine 2.0 (0 visite) www.nexen.net | 8/22/10 12:20 PM
Pour les clients de Jaspersoft, Oracle peut faire du bien à Java et MySQL

Pour Jaspersoft, l'acquisition de Sun par Oracle "devrait avoir pour conséquence un regain de l'utilisation du Java et une croissance plus rapide de MySQL", selon une étude menée auprès de développeurs Open Source et de clients.

- Services www.toolinux.com | 8/19/10 2:02 AM
Generate Data
Generate Data est une application PHP qui va vous permettre de générer des données de tests pour une base de données MySQL. Le principe de celui-ci, est destiné aux développeurs webs car lorsqu'un site internet est en cours de réalisation, vous devez effectuer des tests de saisie avec différentes données. Vous avez alors plusieurs solutions possibles : Utiliser un Framework qui offre cette option Effectuer vous même la saisie de donnée bidons Utiliser Generate Data qui fera le travail pour vous Cette application propose de vous fournir des données à partir de son application ou de son site web dans différents formats : Html, Excel, XML, CSV, SQL  Generate Data demo (0 visite) www.nexen.net | 8/18/10 11:21 AM
Les caches de données
Voici quelques semaines, Google a annoncé que la vitesse de chargement d'un site web sera un des critères pris en compte pour le référencement d'un projet Web. Cependant, même si cela n'est pas réellement prouvé, il est important de proposer un site web qui s'affiche rapidement. Le site Webrankinfo a publié un article sur les principaux systèmes de gestion du cache de données et de son utilisation. Celui-ci peut se placer à différents endroits comme au niveau de MySQL, de PHP et aussi du coté du serveur web. L'article se décompose de la façon suivante : Définition de la notion de cache en informatique Fonctionnement d'un cache Les différents mécanismes de cache Benchmark Conclusion PS : les buffers Bien sur, il existe différents outils, qui vous sont proposés avec un tableau comparatif des performances obtenues par chacun. Ainsi, vous pouvez avoir une idée plus précise de l'importance de rapidité d'affiche d'un site internet. Les caches de données avec PHP, MySQL, HTTP... (0 visite) www.nexen.net | 8/17/10 10:56 PM
Les différents systèmes de mise en cache des données
Les caches de données avec PHP, MySQL, HTTP... Cet article présente les principaux systèmes de gestion du cache des données, aussi bien au niveau de MySQL et PHP que du serveur web, et même d'autres possibilités de mise en cache supplémentaires par la programmation. Ce dossier a été entièrement préparé et rédigé par Fandeciné, éminent membre-modérateur [...] www.webrankinfo.com | 8/16/10 6:01 PM
Guide de démarrage avec les bases de données
Un petit Guide vient d'être publier sur le blog de mathgladiator qui va vous permettre de bien construire votre base de donnée lorsque vous démarrez avec une start-up. Ce guide présente une façon originale dont vous devez utilisez à la fois une solution existante et des bases de données NoSQL . Guide to Databases in a Start-Up (0 visite) www.nexen.net | 8/16/10 4:11 PM
Recherche sur un champs indexé, qui n'utilise pas l'index
Petite anti-astuce :Utiliser des fonctions dans les conditions sur un champs indexé, annule l'utilisation de l'index mysql> EXPLAIN SELECT * FROM film WHERE title LIKE 'Tr%'\\G *************************** 1. row *************************** id: 1 select_type: SIMPLE table: film type: range possible_keys: idx_title key: idx_title key_len: 767 ref: NULL rows: 15 Extra: Using where Une stratégie d'accès rapide à un range est choisi par l'optimiseur, et l'index sur le titre est utilisé pour réduire la quantité d'enregistrements à examiner (ici 15) mysql> EXPLAIN SELECT * FROM film WHERE LEFT(title,2) = 'Tr' \\G *************************** 1. row *************************** id: 1 select_type: SIMPLE table: film type: ALL possible_keys: NULL key: NULL key_len: NULL ref: NULL rows: 951 Extra: Using where Une analyse complète des enregistrement, donc lente, (c'est la stratégie d'accès ALL) est utilisée car une fonction (LEFT) opére sur la colonne de titre dans la condition. source Join-fu: The Art of SQL Tuning for MySQL moosh.et.son.brol.be | 8/14/10 11:00 AM
Oracle porte plainte contre Google : l'utilisation du Java dans Android est en cause

En rachetant Sun Microsystems l'année dernière, Oracle a par la même occasion mis la main sur ses technologies. Si la pérennité de MySQL a alimenté de nombreux débats l'année dernière, cette fois c'est la licence de Java qui est en question. En 2006, Sun plaçait cette technologie sous licence GNU General Public License (GPL). Mais avec le rachat de Sun en 2009, Oracle a récupéré les droits sur les brevets de Java. En conséquence, la firme a porté plainte contre Google, qui utilise cette technologie dans Android.

[Lire la suite] www.numerama.com | 8/13/10 12:37 PM
Mise à jour d'EasyPHP (PHP 5.3.3) et nouveaux modules (Wordpress, Drupal, Joomla!, Spip, Prestashop)
Suite à la sortie de PHP 5.3.3, tous les composants d'EasyPHP ont été mis à jour : PHP 5.3.3, Apache 2.2.16, MySQL 5.1.49 et PhpMyAdmin 3.3.5. Il est aussi possible d'installer des versions pre-configurees (modules) de WordPress, Spip, Prestashop, Drupal... Sept nouveaux modules ont été pulbiés :WordPress 3.0.1, Drupal 7.0 alpha 6 / 6.17, Spip 2.1.1, Joomla! 1.6 beta 6 / 1.5.20, Prestashop 1.3.1 Ceci offre un moyen simple et rapide de tester les applications phares du monde PHP. Rien à configurer, tout se fait automatiquement lors de l'installation. Pas de limite quant au nombre de modules et au nombre d'installations du même module. Comme toujours, EasyPHP peut s'installer n'importe ou : disque dur, cle USB ... L'interface d'administration d'EasyPHP permet de: - lister le repertoire DocRoot d'Apache - creer/supprimer des alias - gerer MySQL avec PhpMyAdmin - declarer le TimeZone pour PHP. - exceder au phpinfo - gérer les modules - ... Website : www.easyphp.org Facebook page : www.facebook.com/easywamp Twitter : www.twitter.com/easyphp Sourceforge : www.sourceforge.net/projects/quickeasyphp/ Cordialement L'équipe d'EasyPHP Proposé par Laurent Abbal www.phpindex.com | 8/11/10 4:14 AM
Les applications webs évolutives horizontalement
Afin de gérer le succès et la popularité d'un site web, il est important de prendre en compte de nombreux points comme une hausse de la fréquentation des visiteurs. Pour répondre à cette hausse, vous devez prévoir des ressources supplémentaires comme l'ajout de serveurs à l'infrastructure existante, la répartition de la charge, etc... Pour répondre au concept de philosophie partagée, le langage PHP va répondre à ces contraintes. Le site Ibuildings publie un livre blanc (disponible gratuitement) sur le thème des applications webs évolutives horizontalement. Ce livre parle : Comment concevoir une application évolutive en définissant une architecture et techniques Gérer les ressources automatiques au système avec la possibilité de les ajouter et de les supprimer Le sommaire du livre se décompose comme ceci : Executive Summary What Is Scalability? Scalability is not high performance What goes up, must come down Scalable by Design Loose Coupling Create APIs, assemble applications Scaling Your Application Horizontal vs. vertical scaling Breaking It Apart – Thinking in Pieces Static Dynamic Database Session Clustering Memcached Session Clustering APIs Scaling Your Database Database Replication Database Federation Database Sharding Alternative Data Storage Engines API-only data access CouchDB and Amazon SimpleDb Scaling to the Cloud Platform as a Service Infrastructure as a Service Degrade gracefully Additional Reading Conclusion  Livre blanc Les applications webs évolutives horizontalement (0 visite) www.nexen.net | 8/10/10 6:49 PM
Sécuriser MySQL en 10 minutes
Le site CodeSherpas publie un article intéressant et surtout donne quelques conseils pour sécuriser votre serveur MySQL en quelques minutes. L'article parle des points suivants : Le point sensible du serveur Sécuriser votre mot de passe root Définir un utilisateur spécifique à l'application  Securing MySQL in 10 minutes (0 visite) www.nexen.net | 8/10/10 12:15 PM
MySQL Cluster: Meilleures pratiques de déploiement (31 Aug 2010)
Webinar dédié pour ceux qui ont ou vont déployer MySQL Cluster. Cette session présente les meilleures pratiques de déploiement de MySQL Cluster en vue d'accélérer le délai de mise en service, et ce avec les niveaux de disponibilité et de performance les plus élevés, pour prendre en charge vos applications Web et télécoms les plus critiques. Au cours de cette session, vous découvrirez: L'identification des applications adaptées pour MySQL Cluster La comparaison des différences de fonctionnalité et de configuration avec InnoDB L'utilisation de déclencheurs e de procédures stockées pour mettre en œuvre la fonctionnalité de clé étrangère Le choix du matériel, du réseau et du système de fichiers Le dimensionnement et la planification des capacités Les meilleures pratiques de configuration Le déploiement des données sur disque L'administration et la surveillance Les services disponibles pour démarrer Date and Time: Tuesday, 31 Aug 2010, 10:00 CET www.mysql.fr | 8/9/10 8:09 PM
Préambule
De quoi traite ce blogue? J’aborderai différents sujets, surtout reliés à l’informatique.  Comme mes intérets portent surtout sur Smalltalk et les technologies orientées-objet ainsi que sur les bases de données, vous entendrez souvent parler de Pharo et de MySQL.  J’y traiterai aussi de littérature, de cuisine, de logiciels open source, de mathématiques, de musique et d’une foule d’autres sujets.  Bref, je vous ferai part de mes découvertes! Pourquoi ce blogue? Parce que j’aime bien partager mes expériences avec les autres et surtout découvrir de nouvelles façons de faire et de nouvelles idées.  Ce blogue servira surtout à présenter des problèmes pratiques et des façons de résoudre ceux-ci. Pourquoi en français? Parce que, malheureusement, les ressources disponibles sur internet sont rarement en français.  Il est plus que temps d’y remédier et d’apporter mon infime contribution.  Aussi, il n’est pas donné à tous de comprendre et de lire l’anglais. Endormitoire? J’ai voulu apporter une touche à la fois francophone et bien québécoise à ce blogue.  Le nom du blogue vient du fait que 99% de mon entourage ne comprend rien (ou très peu) à ce que je fais et que j’ai souvent l’impression que mes histoires « informatiques », « mathématiques » ou « littéraires » les ennuient à mourir.  Pour ceux qui ne le savent pas, « endormitoire » est une expression typiquement québécoise signifiant « une soudaine et grande envie de dormir ». En espérant vous tenir bien éveillés chers lecteurs! endormitoire.wordpress.com | 8/9/10 3:22 PM
Script de mise en cache des pages (PHP MySQL)
Tutoriel : comment mettre en cache des pages PHP/MySQL Les scripts serveur (PHP ou tout autre langage) peuvent être coûteux en performances pour votre serveur, par exemple s'ils font des requêtes lourdes ou fréquentes à votre base de données. Il est donc intéressant d'appliquer des solutions de mise en cache qui accélèrent considérablement la vitesse [...] www.webrankinfo.com | 8/9/10 12:02 PM
MyTAP
Les tests unitaires sont très connus du coté des langages comme PHP, mais réaliser des tests unitaires pour MySQL, cela reste moins répandus. MyTAP est une suite de fonctions pour écrire vos propres tests unitaires pour MySQL. L'intérêt de MyTAP va vous permettre de vraiment tester votre base de données comme : Vérifier la structure de votre schéma Effectuer des tests de vues, de procédures, des fonctions etc Par ailleurs, un site dédié à MyTAP est disponible avec la documentation et les exemples. MyTAP site officiel (0 visite) www.nexen.net | 8/9/10 11:19 AM
PHP-FPM (FastCGI Process Manager)
PHP-FPM est disponible dans le dernier php (5.3)... mais qu'est-ce-que c'est ? PHP-FPM (FastCGI Process Manager) est une alternative à PHP FastCGI avec toute une série d'amélioration. Principalement utile pour les sites à fort taux d'utilisation. Plusieurs VHosts avec un UID/GID différent et des PHP.ini différents. FPM permet de faire tourner plusieurs VHosts avec un UID/GID différent et des PHP.ini différents. Support de l'upload accéléré Statistique de base similaire à mod_status d'apache. Redémarrage de secours en cas de destruction accidentelle de l'opcode Un header d'erreur une config style [ini] fastcgi.error_header = "HTTP/1.0 550 Server Made Big Boo" ... provoquera l'envoi de cette erreur au lieu d'en "200 tout va bien" avec une page blanche. amélioration de la gestion des processus en cas de graceful stop/start En pratique ca permet de prendre en compte une nouvelle config qui nécessite un redémarrage sans interrompre ce qui avait commencé avec l'ancienne configuration. Journalisation des scripts lents avec [xml] 5s logs/slow.log donnera [log] Sep 21 16:22:19.399162 pid 29715 (pool default) script_filename = /local/www/stable/www/catalogue.php [0x00007fff23618120] mysql_query() /srv/stable/common/Database/class.MySQLRequest.php:20 [0x00007fff23618560] getResult() /srv/stable/common/Database/class.Facade.php:106 [0x00007fff23618aa0] query() /srv/stable/common/mysite.com/ORM/class.UsersMapper.php:99 Journalisation de Stdout & stderr fastcgi_finish_request() une fonction spéciale pour clôturer la connexion avec le client, mais continuer un traitement php à découvrir en détail ici Autres points PHP-FPM est compatible avec ZendOptimizer à lire aussi J'ai commencé une page wikipedia que vous pouvez compléter. [1] Le site du projet http://blog.developpez.com/julienpauli/p8432/php/php-fpm-rejoind-le-svn-de-php/ php-fpm rejoint le svn de php par Julien Pauli Le fichier de config de fpm dispo pour debian Migration vers 5.3 Notes [1] Qui, le temps de rédiger et publier cet article, a déjà été retravaillée. C'est la magie wikipedia moosh.et.son.brol.be | 7/29/10 2:23 PM
Outils d’analyse de requêtes lentes – mysqlsla
Pour ce second volet de notre série consacrée aux outils d’analyse de requêtes lentes, nous allons nous pencher aujourd’hui sur mysqlsla, qui est un script Perl disposant de nombreuses options d’agrégation et de filtrage. Commençons par l’installation du script. Rien de plus simple, il vous suffit pour commencer de télécharger et de décompresser une archive de [...] www.dbnewz.com | 7/28/10 5:01 PM
Utiliser Zend_Log
Allez on va essayer d'utiliser Zend_log convenablement. L'idée c'est de découper les moments de décisions. J'écris mon code je décide de journaliser un message ou des infos Je gère mes journaux, je décide où va tel ou tel message. Je gère plusieurs staging, je change le comportement des mes dispatching Je change le format de stockage de mon journal, je décide comment disposer des informations reçues Je décide où je lis/récupère mes messages. Julien débroussaille Zend_log dans sa Présentation du Zend Framework et une liste de tuto permet de compléter J'écris mon code je décide de journaliser un message ou des infos Pendant que je code ma réflexion doit se limiter à quel message envoyer quelles infos complémentaire envoyer quelle gravité/sévérité/catégoriser de message j'envoie. [php] ajoutons une info [php] Bon là on a envoyé le message Je gère mes journaux, je décide où vont les messages. Ca se passe plutôt dans le script. On prépare un objet ($log). qui sera utilisé par la suite dans le code mais on va commencer à lui dire que faire de ces messages qui remontent. [php] Première chose (évidente) assigner les writers (les scribes). [php] là c'est dans un un fichier mais "stream" permet aussi un accès plus large, [php] Et on a pas que "stream", ca peut-être aussi dans une base de donnée -> Zend_Log_Writer_Db, dans firebug -> Zend_Log_Writer_Firebug, dans un email -> Zend_Log_Writer_Mail, dans un mock -> Zend_Log_Writer_Mock dans syslog -> Zend_Log_Writer_Syslog dans le néant ... (si le temps du développement ou de tests intensifs, vous ne voulez pas polluer vos logs, redirigez les un temps dans null -> Zend_Log_Writer_Null //php /// et si ca ne me plait pas je peux faire mon scribe en partant de Zend_Log_Writer_Abstract je décide où va tel ou tel message. Si c'est pour mettre la même chose partout ce n'est pas spécialement intéressant. On va donc filtrer les messages à envoyer à chaque scribe. (rédacteur dans la doc) Pour ca on a 4 outils Zend_Log_Filter_Interface Zend_Log_Filter_Message Zend_Log_Filter_Priority Zend_Log_Filter_Suppress Je change le format de stockage de mon journal, je décide comment disposer des informations reçues La façon dont on écrit chaque message est un format "par défaut" mais il peut être redéfini Zend_Log_Formatter_Firebug Zend_Log_Formatter_Interface Zend_Log_Formatter_Simple Zend_Log_Formatter_Xml En utilisant cela vos pourrez logguer dans un fichier rss moosh.et.son.brol.be | 7/28/10 12:00 PM
Vulnérabilités MySQL 5.1.47
Les versions antérieurs à 5.1.47 MySQL souffrent de vulnérabilités: déni de service. Cet effet peut se produire lorsque le serveur de base de données reçoit un paquet dont la taille est supérieure à la taille maximale autorisée. débordement de mémoire (buffer overflow). Cet effet se produit lorsque l’argument passé à la commande « COM_FILED_LIST » est très long. L’utilisateur doit cependant être authentifié pour exploiter cette vulnérabilité. Versions affectées:  Versions antérieures à 5.1.47 Criticité: Moyenne Solution: Mises à jour disponibles sur les différentes distributions MySQL souffre d’une vulnérabilité de déni de service. Cet effet peut se produire lorsque le serveur de base de données reçoit un paquet dont la taille est supérieure à la taille maximale autorisée. dasini.net | 7/22/10 5:13 PM
Migration vers CouchDB
John P. Bois partage une étude de cas, publié sur le site couch.io, touchant le thème « la migration vers CouchDB ».

John montre les différentes étapes pour basculer les données MySQL vers CouchDB. Il explique étape par étape le choix de changements et les différentes contraintes rencontrées.

Son étude est intéressante car elle peut répondre aux attentes de certaines projets.

- Migrating to CouchDB with a Focus on Views www.lephpfacile.com | 7/21/10 12:24 AM
Attention aux requêtes en double avec Windev et MySQL !
Hello, Un post pour vous démontrer que c’est toujours intéressant de lire les documentations et que parfois, les petites lignes en bas de page peuvent révéler des informations importantes. J’étais récemment chez un client pour un audit de performance dans un environnement Windev / MySQL. Je ne suis pas un grand spécialiste de Windev, bien qu’ayant déjà réalisé des audits sur ce type d’environnement, je n’avais jamais eu l’occasion d’aller aussi loin dans la compréhension du code applicatif. Au hasard de l’analyse des requêtes lentes (via le log des requêtes lentes), je me suis aperçu qu’une requête apparaissait systématiquement deux fois consécutivement dans le log. Après avoir identifié avec mon client le bout de code exécutant cette requête, nous avons travaillé avec le log général de MySQL afin d’essayer de comprendre pourquoi cette requête était lancée deux fois alors qu’elle n’apparaissait qu’une fois dans le code applicatif. Le code utilisé est le suivant : SD est une Source de Données MaReq est une chaîne #################################################################################### MaReq = "SELECT nom, prenom FROM client WHERE type = 1" // Exécution de la requête HExécuteRequêteSQL(SD, MaConnexionMySQL, hRequêteSansCorrection, MaReq) // Boucle sur le résultat HLitPremier(SD) TANTQUE PAS HEnDehors(SD) Trace(SD.Nom) HLitSuivant(SD) FIN #################################################################################### Le verdict du log général est sans appel, la requête est bien exécutée deux fois ! Petite parenthèse, la fonction HExécuteRequêteSQL réalise systématiquement une modification de code SQL (Ajout d’un ORDER BY par exemple). Si vous souhaitez conserver votre code SQL original, n’oubliez pas d’ajouter le paramètre hRequêteSansCorrection comme fait ici. Mais revenons à nos moutons, la mystérieuse requête en double… Après plusieurs tests, nous avons réussi à identifier la cause de cette double exécution, il s’agissait de la fonction HLitPremier. En effet, cette fonction exécute une nouvelle fois la requête, certainement pour intégrer d’éventuelles modifications de données entre le moment où l’on exécute la requête et le moment où l’on entre dans la boucle. Simplement, si la requête est déjà coûteuse, elle l’est d’autant plus si elle est lancée deux fois et la seconde exécution n’est pas forcement nécessaire. Cela dépend évidemment du contexte applicatif dans lequel vous vous trouvez. Dans le cas présent, ce n’était pas nécessaire. Nous voici donc en train d’éplucher la documentation Windev (c’est là que vous comprenez mon introduction) à la recherche d’une information capitale dans notre cas : Comment désactiver cette double exécution ? Et nous n’avons pas mis longtemps (enfin, un peu quand même…) à repérer de petites lignes en bas de la page de la documentation de l’accès natif MySQL pour Windev : Optimisations des fonctions HyperFileSQL (Réf :  http://doc.pcsoft.fr/fr-FR/?acces-natif-mysql-pour-windev-webdev) Les Tables fichiers basées sur des requêtes sont optimisées : il est possible de trier la table en cliquant sur une de ses colonnes. Pour éviter de ré-exécuter plusieurs fois la même requête lors du parcours de son résultat, il est conseillé d’utiliser la constante hSansRafraichir (par exemple si un seul poste modifie les données). Donc, pour résumer, si vous utilisez la fonction HLitPremier et que vous ne souhaitez pas que celle-ci ré-exécute la requête précédemment exécutée par la fonction HExécuteRequêteSQL, vous devez utiliser la fonction avec le paramètre suivant : HLitPremier(SD,  hSansRafraîchir) Et effectivement, le log général ne mentionnait plus qu’une seule exécution après cette correction de code Windev ! J’espère que cette information vous sera utile pour vos devs Windev existants ou à venir. N’hésitez pas à nous faire un retour si vous aviez déjà rencontré ce problème ou pour tout retour d’expérience Windev / MySQL. Un grand merci à toute l’équipe qui se reconnaitra et à bientôt sur le blog de capdata. Cédric Documentation sur le log des requêtes lentes : http://dev.mysql.com/doc/refman/5.1/en/slow-query-log.html Documentation sur le log général :  http://dev.mysql.com/doc/refman/5.1/en/query-log.html Documentation Windev : http://doc.pcsoft.fr/fr-FR/Autres articles à découvrir sur le blog : Règles d’installation de base (épisode 1) (David BAFFALEUF) [SQL Server] Un trigger fait-il parti d’une transaction ? (Cédric PEINTRE) [GénéralMySQLOracleSQL ServerSybase] Abonnez-vous au blog de la CapData team ! (Cédric PEINTRE) [GénéralMySQLOracleSQL ServerSybase] Intérêt de créer des indexes cluster uniques (David BAFFALEUF) [SQL Server] Que faire des « [Warning] Aborted connection » avec MySQL ? (Cédric PEINTRE) [MySQL] blog.capdata.fr | 7/15/10 11:43 AM
Outils d’analyse de requêtes lentes – mysqldumpslow
Nous avons vu dans un précédent article comment tracer les requêtes lentes avec MySQL et quelles sont les possibilités selon la version du serveur. Si vous avez activé le journal des requêtes lentes, vous avez sans doute recueilli un certain nombre de requêtes qu’il faut maintenant analyser afin de pouvoir les optimiser ou afin de [...] www.dbnewz.com | 7/8/10 6:15 PM
"Comment invoquer les As du Libre" selon Sensio Labs

L'éditeur de Symfony lance un service "expert" centré sur l'intervention personnalisée de gurus Open Source (PHP, Symfony, MySQL).

- Services www.toolinux.com | 7/7/10 1:26 AM
acteurs > Fusion Oracle / Sun : le fondateur de MySQL fait appel en Europe
L'information a été dévoilée par le Financial Times. Le fondateur de MySQL a décidé de faire appel de la décision de la Comm... www.journaldunet.com | 7/6/10 1:56 PM
SkySQL : une alternative au support MySQL d’Oracle
Les utilisateurs de MySQL ont désormais une alternative pour le support de la base de données : la startup SkySQL. www.linformaticien.com | 7/6/10 1:09 PM
MySQL : Monty Widenius ne désarme pas face à Oracle
Le fondateur de MySQL a fait appel de la décision de l'autorité antitrust européenne qui a donné son feu vert à l'acquisition de Sun Microsystems par Oracle, et donc le contrôle de la base de données open source MySQL. www.generation-nt.com | 7/5/10 11:28 AM
CrawlProtect 2.0.0 est sorti
Cette nouvelle version de Crawlprotect est une évolution majeur du script de protection anti-piratage. CrawlProtect propose une protection par htaccess sur mesure et une gestion des droit sur vos répertoires et fichiers en quelques clics. Avec cette nouvelle version le script propose l'utilisation d'une base MySQL lorsque votre serveur interdit à php d'écrire dans des fichiers (serveur protégé par Suhosin par exemple). Vous y trouverez aussi les logs des tentatives de piratage et une page dédiée à la gestion des droits sur vos fichiers proposant de nouvelles options de sélection et de trie. Vous trouverez plus d'info sur le site du script: http://www.crawlprotect.com/fr Proposé par Jean-Denis Brun www.phpindex.com | 7/4/10 9:44 PM
CERTA-2010-AVI-294 : Vulnérabilité de MySQL (29 juin 2010)
Une vulnérabilité de MySQL permet à un utilisateur malveillant de modifier l'arborescence et provoquer un déni de service à distance. www.certa.ssi.gouv.fr | 6/30/10 2:11 AM
Un test grandeur nature de restauration des données sous Synerway

Chez Hoya Lens France, il y a encore peu, les sauvegardes du système d'information s'opéraient avec un lecteur de bandes sur les bases de données de production et de commandes Oracle 10g et sur les bases de données « satellites » MySQL. Elles se faisaient mensuellement en incrémentale.

- Communiqué www.toolinux.com | 6/30/10 1:00 AM
MySQL Admin Cookbook
MySQL Admin Cookbook est un livre qui s’adresse aussi bien à l’administrateur de base de données débutant qu’ à celui qui cherche à améliorer ses compétences techniques. Avec son contenu riche en exemples prêts à l’emploi, présentés sous la forme de « recettes de cuisine » (qui permet d’associer une problématique donnée à sa solution), MySQL Admin Cookbook se veut résolument orienté pratique, d’ailleurs  les exemples et les astuces y sont légions. Les principaux thèmes abordés sont: La réplication Les index Sauvegarde et restauration Gestion des données et des utilisateurs La supervision Configuration de MySQL J’ai bien aimé: la variété des sujets et l’angle pratique abordé. J’ai moins aimé: certaines parties un peu basique Le site de l’éditeur: Packt Publishing Limited MySQL Admin Cookbook Editeur : Packt Publishing Limited Langue : Anglais ISBN-13: 978-1-847197-96-2 ISBN : 1847197965 376 pages Auteurs: Daniel Schneller, Udo Schwedt Sortie: Mars 2010 dasini.net | 6/29/10 3:49 PM
Oracle lance Application Express 4
La version 4 d'Oracle Application Express (Apex) est attendue depuis longtemps. En pré-version depuis décembre 2009 et la sortie de la version 3.2, Apex 4 est la toute dernière mouture de ce qu'on connaissait auparavant sous le nom Oracle HTML DB. C'est un outil gratuit utilisable depuis un navigateur, qui permet la création d'interfaces web et de bases de données liées rapidement.

La nouvelle version prend en charge les thèmes, les plugins, le développement collaboratif, l'interaction AJAX avec les processus côté client (sans Javascript), et peut interagir avec les services web REST. Les fonctionnalités sous-jacentes de rapports SQL et de création de tableaux ont aussi été mises à jour, et offrent maintenant des tableaux type diagramme de Gantt, ainsi que des cartes exportables en Flash.

La fonctionnalité mise en avant par Oracle, c'est Websheets, un panel de templates extensibles pour créer des pages interactives avec des grilles de données, des formulaires de recherche, des outils de virtualisation, des barres de navigation, etc. Cela permet de créer rapidement un site d'allure professionnelle... Avec le risque de créer une série de sites estampillés APEX dans leur design.

APEX fonctionne uniquement sur les front-ends Oracle, ce qui peut rendre la recherche d'un hébergeur plus compliquée qu'avec une combinaison classique PHP / MySQL. www.lephpfacile.com | 6/24/10 11:18 PM
Abonnez-vous au blog de la CapData team !
Bonjour à tous, Juste un petit post pour vous rappeler les différentes méthodes vous permettant de suivre l’activité débordante du blog de la capdata team : Accès standard via la page web : http://blog.capdata.fr Vous abonner au flux RSS du blog et être ainsi prévenu de l’arrivée des nouveaux articles : http://feeds.feedburner.com/CapDataTeamBlog Nous suivre sur Twitter pour retrouver l’actualité des bases de données : http://twitter.com/capdata_blog Vous êtes de plus en plus nombreux à nous suivre sur ce blog technique autour des bases de données et nous vous en remercions. J’en profite pour vous proposer quelques articles qui semblent avoir remportés un vif succès dernièrement : http://blog.capdata.fr/index.php/jeux-de-caracteres-unicode-et-base-de-donnees/ http://blog.capdata.fr/index.php/installation-oracle-11gr2-64-bits-sur-red-hat-5-partie-1/ http://blog.capdata.fr/index.php/modifier-la-collation-dune-base-sql-2005/ http://blog.capdata.fr/index.php/mysql-et-les-tables-temporaires-internes/ http://blog.capdata.fr/index.php/sybase-ase-direct-io-dsync-onoff-raw-device/ Encore une fois, n’hésitez pas à poster vos commentaires sur les articles, l’échange est la richesse du contenu. A bientôt sur le blog de la capdata team !Autres articles à découvrir sur le blog : Scruter les journaux d’évènements Windows avec LogParser (David BAFFALEUF) [SQL Server] Intérêt de créer des indexes cluster uniques (David BAFFALEUF) [SQL Server] Que faire des « [Warning] Aborted connection » avec MySQL ? (Cédric PEINTRE) [MySQL] Planification dans Adaptive Server (David BAFFALEUF) [Sybase] Modes de récupération et journal de transactions, épisode 1 (David BAFFALEUF) [SQL Server] blog.capdata.fr | 6/23/10 2:48 PM
Du nouveau avec Eclipse
Eclipse est une plateforme de développement pour de nombreux langages. Comme chaque année, le grand rassemblement autour de celui-ci a lieu. Cette année, les nombreux points marquants sont : Une étude montre que Eclipe est plus utilisée sur Linux et Mac. Les 3 langages les plus utilisés sont : Java, C/C++ et PHP. Dans les autres catégories, les grands gagnants sont Jquery, Apache Tomcat, MySQL. Dans les prochains jours (exactement le 23 juin), la nouvelle version de Eclipse 3.5 sera dévoilée avec l'ensemble des nouveautés. La nouvelle génération de Eclipse (version 4) sera aussi disponible très prochainement. De plus en plus de développeurs Eclipse sur Linux (0 visite) www.nexen.net | 6/21/10 3:06 AM
Du nouveau avec Eclipse
Eclipse est une plateforme de développement de différents langages. Comme chaque année, le grand rassemblement autour de celui-ci à lieu. Cette année, de nombreux points marquants sont : L'étude 2010 montre que Eclipe est plus utilisé sur Linux et Mac et que les 3 langages les plus utilisés sont : Java, C/C++ et PHP. Dans les autres catégories, les grands gagnants sont Jquery, Apache Tomcat, MySQL Dans les prochains jours (exactement le 23 juin), la nouvelle version de Eclipse 3.5 sera dévoilée avec l'ensemble des nouveautés. La nouvelle génération de Eclipse (version 4) sera aussi disponible très prochainement. De plus en plus de développeurs Eclipse sur Linux (0 visite) www.nexen.net | 6/21/10 3:06 AM
"Concevez votre site web avec PHP et MySQL" disponible en librairie

Rédigé par Mathieu Nebra, "Concevez votre site web avec PHP et MySQL" souhaite "initier en douceur et avec humour" à la création d'un site web dynamique, avec son propre blog et son espace membres. C

- Livres www.toolinux.com | 6/21/10 1:45 AM
Encore un nouveau livre sur MySQL !
Après l’excellent « MySQL5, Audit et optimisation » sorti fin mars, voici un nouveau livre pour vous occuper sur la plage cet été : MySQL5, Administration et optimisation. Pour vous mettre l’eau à la bouche, la TDM_MySQL5_Admin_Optim et un Extrait_MySQL5_Admin_Optim consacré aux verrous et transactions sont disponibles Le livre est bien sûr disponible dans toutes les bonnes librairies informatiques [...] www.dbnewz.com | 6/18/10 5:18 PM
Hoya Lens France restaure ses données avec l'appliance Synerway

Comment Hoya Lens France est passée d'une restauration sur bandes depuis Oracle 10g et MySQL à Synerway.

- Développement www.toolinux.com | 6/17/10 1:11 AM
Atutor
Atutor est une application écrite en PHP et MySQL. Il s'agit d'un LCMS/LMS (Learning Content Management System) . Cet application possède de nombreuses fonctionnalités comme : L'accessibilité Réseau social Sécurité Les cours La messagerie Les Profils Stockage Logs Rédactions Outils etc ATutor (0 visite) www.nexen.net | 6/10/10 4:15 AM
CERTA-2010-AVI-238 : Multiples vulnérabilités dans MySQL Enterprise Monitor (04 juin 2010)
De multiples injections de requêtes illégitimes par rebond ont été découvertes dans MySQL Enterprise Monitor. www.certa.ssi.gouv.fr | 6/5/10 2:05 AM
EasyPHP et modules
Beaucoup de changements et de nouveautés autour d'EasyPHP. En plus des mises a jour classiques des elements d'EasyPHP (Apache, MySQL, PhpMyAdmin...), la nouvelle version intègre de nouvelles fonctionnalites. Il est dorenavant possible d'installer des versions pre-configurees (modules) de WordPress, Spip, Prestashop, Drupal... Ceci offre un moyen ultra simple et rapide de tester les applications phares du monde PHP. Rien a configurer, tout se fait automatiquement lors de l'installation. Pas de limite quant au nombre de modules et au nombre d'installations du même module. Comme toujours, EasyPHP peut s'installer n'importe ou : disque dur, cle USB ... Website : www.easyphp.org Facebook page : www.facebook.com/pages/EasyPHP/100608599258 Twitter : www.twitter.com/easyphp Sourceforge : www.sourceforge.net/projects/quickeasyphp/ Quelques informations sur les versions actuelles : L'interface d'administration d'EasyPHP permet de: - lister le repertoire DocRoot d'Apache - creer/supprimer des alias - gerer MySQL avec PhpMyAdmin - declarer le TimeZone pour PHP. - exceder au phpinfo - ... *EasyPHP 5.3.2i - PHP 5.3.2 - Apache 2.2.15 - MySQL 5.1.45 - PhpMyAdmin 3.3.2 *EasyPHP 5.2.10 - PHP 5.2.10 - Apache 2.2.13 - MySQL 5.1.37 - PhpMyAdmin 3.2.1 - SQLite 2.8.17 - Pecl 5.2.6 EASYPHP MODULES (pour EasyPHP 5.3.2i) - WordPress 2.9.2 - WordPress 3.0RC1 - Spip 2.1.0 - Prestashop 1.3 - ... Proposé par Laurent Abbal www.phpindex.com | 6/4/10 10:08 AM
EasyPHP et modules (WorPress, Spip, Drupal, Prestashop...)
Beaucoup de changements et de nouveautés autour d'EasyPHP. En plus des mises a jour classiques des elements d'EasyPHP (Apache, MySQL, PhpMyAdmin...), la nouvelle version intègre de nouvelles fonctionnalites. Il est dorenavant possible d'installer des versions pre-configurees (modules) de WordPress, Spip, Prestashop, Drupal... Ceci offre un moyen ultra simple et rapide de tester les applications phares du monde PHP. Rien a configurer, tout se fait automatiquement lors de l'installation. Pas de limite quant au nombre de modules et au nombre d'installations du même module. Comme toujours, EasyPHP peut s'installer n'importe ou : disque dur, cle USB ... Modules disponibles : - WordPress 2.9.2 - WordPress 3.0RC1 - Spip 2.1.0 - Prestashop 1.3 - ...  EasyPHP (0 visite)  EasyPHP Facebook (0 visite)  EasyPHP Twitter (0 visite)  EasyPHP Sourceforge (0 visite) www.nexen.net | 6/4/10 9:22 AM
Démarrer avec MongoDB
Depuis de nombreux mois, le sujet du NoSQL revient régulièrement à la une, dans les sites d'actualités, dont MongoDB est associé. Travis Swicegood a publié sur son site un résumé des conférences, des liens et des tutoriaux qu'il a pu trouver pour utiliser MongoDB. L'article est très complet car en plus des différents liens, il montre : Comment installer Démarrer un serveur Interaction Ajout d'enregistrements Rechercher des enregistrements Les problèmes pouvant apparaître L'ensemble des ces opérations sont effectuées en lignes de commandes, mais vous pouvez effectuer les mêmes opérations avec PHP  MongoDB: A first look (0 visite) PHP et MongoDB partie 1 (0 visite) www.nexen.net | 6/2/10 8:20 PM
Mathieu Nebra : "Concevez votre site web avec PHP et MySQL"

Après "Apprenez à programmer en C", Simple IT publie un ouvrage destiné à "simplifier" le développement de sites web dynamiques, "Concevez votre site web avec PHP et MySQL."

- Livres www.toolinux.com | 6/1/10 2:43 AM