|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Cédric PERRIERIngénieur systèmes et réseaux Inscription : juin 2010 Messages : 182 ![]() |
Bonjour,
Dans le cadre d'une maintenance complète de mon serveur MySQL, j'aimerais savoir, si toutefois c'est possible, s'il y a un moyen de connaitre les tables qui ne sont pas utilisées lors d'une injection de valeurs ou bien lors d'une lecture de ces tables. Autrement dit, je cherche les tables qui ne sont plus utilisées (puisque la base évolue sans cesse et que les tables évoluent aussi). Je sais qu'il doit exister des tables non utilisées car plus renseignées et si elles ne sont plus renseignées, elles ne devraient pas non plus être lues. Comment le savoir ? Merci pour votre aide. |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Eric DureuilDéveloppeur informatique Inscription : avril 2011 Messages : 853 ![]() |
salut,
il me semble que tu peux avoir des stats soit par l'un des outils d'admin soit par des commandes sql, je crois... regarde dans les fonctions spéciales pour select des fois... dans la doc mysql
__________________
Eric Dureuil, développeur web, c/c++, java indépendant soyons ![]() pensez à mettre et
|
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Cédric PERRIERIngénieur systèmes et réseaux Inscription : juin 2010 Messages : 182 ![]() |
Justement je n'ai pas trouvé.
C'est pour ça que je viens ici, au cas où j'aurais raté qq chose et qu'ici vous auriez des idées à me soumettre. |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Eric DureuilDéveloppeur informatique Inscription : avril 2011 Messages : 853 ![]() |
tu as cette requête qui te donne par exemple les dates de mise à jours des table d'une bd (`information_schema` ici pour l'exmple):
Code sql :
SHOW TABLE STATUS FROM `information_schema`; le pb c'est de savoir le select équivalent dans la base `information_schema` ou mysql... les logs ou la date de modification du fichier pourraient te renseigner si tu y accèdes...
__________________
Eric Dureuil, développeur web, c/c++, java indépendant soyons ![]() pensez à mettre et
|
|
|
00
|
|
|
#5 |
|
Membre éclairé
![]() Inscription : avril 2009 Messages : 331 ![]() |
Le meilleur moyen pour connaître les tables qui ont été utilisées ou pas, est d'activer le log général pendant une période donnée. L'analyse du log général te permettra d'identifier les tables qui ne sont plus utilisées. Attention, l'activation du log général peut avoir des impacts sur les performances, et la taille du fichier généré peut grossir trop vite.
Rachid |
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Cédric PERRIERIngénieur systèmes et réseaux Inscription : juin 2010 Messages : 182 ![]() |
OK Merci pour l'info.
En fait je n'ai pas de pb avec les perfs puisque la BDD est assez petite. Mais les différentes tables sont vidées et renseignées toutes les 30min. En fait, c'est une BDD de consolidation de plusieurs autres BDD distantes. C'est une exportation en CVS qui est ensuite injectée dans ma BDD afin d'y effectuer différentes requêtes de vérification de fonctionnement correct des différents serveurs distants. C'est cette consolidation qui renseigne sur la bonne configuration des serveurs distants ou non. J'ai tellement de requêtes d'injection ou de lecture que je ne sais plus trop lesquelles sont réellement utilisées ou non. C'est pourquoi je cherchais un moyen de le savoir. J'avais mis en place le LOG général dont tu parles mais je ne sais pas trop quoi en faire ni comment m'en servir. En fait celui-ci n'a jamais été tronqué et du coup, il est énorme, comme tu dois t'en douter. Alors pour le lire.... Existe-t-il un moyen simple (genre un freeware ou autre) qui permettrait d'indiquer ce qui va ou ne va pas sur le serveur ? |
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() Eric DureuilDéveloppeur informatique Inscription : avril 2011 Messages : 853 ![]() |
dans la bd mysql tu as les différents log il me semble donc tu peux trier ensuite...
tu peux désactiver le log, tronquer les tables dans mysql puis le réactiver au pire
__________________
Eric Dureuil, développeur web, c/c++, java indépendant soyons ![]() pensez à mettre et
|
|
|
00
|
|
|
#8 |
|
Membre du Club
![]() Cédric PERRIERIngénieur systèmes et réseaux Inscription : juin 2010 Messages : 182 ![]() |
ho la !!
alors là suis perdu. Je ne suis pas DBA donc tout ça se complique qq peu pour moi. Comment faire svp ? En fait, sorti des requêtes que je fais dans ma BDD je ne sais pas trop comment ca fonctionne, MySQL, Information_Shema, etc... |
|
|
00
|
|
|
#9 |
|
Membre Expert
![]() Eric DureuilDéveloppeur informatique Inscription : avril 2011 Messages : 853 ![]() |
tu as 2 db systèmes sur ton serveur mysql:
information_schema, description de tes schéma de bd, routines, etc... mysql, routines compilées, table contenant divers logs, etc...
__________________
Eric Dureuil, développeur web, c/c++, java indépendant soyons ![]() pensez à mettre et
|
|
|
00
|
|
|
#10 |
|
Membre du Club
![]() Cédric PERRIERIngénieur systèmes et réseaux Inscription : juin 2010 Messages : 182 ![]() |
OK Mais je ne vois pas vraiment quoi en faire
|
|
|
00
|
|
|
#11 |
|
Membre Expert
![]() Eric DureuilDéveloppeur informatique Inscription : avril 2011 Messages : 853 ![]() |
une fois les logs activés, tu devrais regarder ce qu'il se passe dans les tables:
__________________
Eric Dureuil, développeur web, c/c++, java indépendant soyons ![]() pensez à mettre et
|
|
|
00
|
|
|
#12 |
|
Membre éclairé
![]() Inscription : avril 2009 Messages : 331 ![]() |
J'avoue que ce n'est pas évident d'analyser un gros fichier plein d'informations comme le log general.
Par contre, il y a quelques petits utilitaires qui te permettront de réaliser cette tâche plus facilement : http://forge.mysql.com/tools/tool.php?id=134 ou http://hackmysql.com/mysqlsla Rachid |
|
|
00
|
|
|
#13 |
|
Membre du Club
![]() Cédric PERRIERIngénieur systèmes et réseaux Inscription : juin 2010 Messages : 182 ![]() |
Merci pour ces infos.
Je suis sous Windows et mysqlsa fonctionne sous Linux. Sinon j'ai essayé avec l'autre mais là c'est galère, c'est un script perl (que j'arrive à lancer). Je le vois me remonter à l'écran tout ce qu'il y a dans le LOG mais au bout d'un moment ça plante carrément, probablement log trop gros |
|
|
00
|
|
|
#14 |
|
Membre éclairé
![]() Inscription : avril 2009 Messages : 331 ![]() |
Rien ne t'empêche de copier ton fichier log sur une machine linux et d'utiliser les scripts cités plus haut
Rachid |
|
|
00
|
|
|
#15 |
|
Membre du Club
![]() Cédric PERRIERIngénieur systèmes et réseaux Inscription : juin 2010 Messages : 182 ![]() |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com