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 |