Trouver une table dans de multiples bases de données MySQL
Lorsque les bases de données se multiplient sur un serveur MySQL, il devient compliquer de savoir quelle base contient quelle table. Aussi, lorsque l'on utilise toujours les mêmes outils, CMS ou autre, il peut être pratique de chercher les tables des plugins dans les bases de données.
Bref, il arrive parfois que l'on ait besoin de chercher une table dans l'ensemble de nos bases de données. Pour cela, il existe une solution simple, mais peut être pas toujours évidente. Il suffit d'aller lire les tables de schema, afin d'obtenir l'information. Si par exemple, vous cherchez la table "ma_table", il suffit de se connecter à MySQL et d'executer la commande :
SELECT table_name, table_schema AS database_name FROM information_schema.tables WHERE table_name='ma_table';
MySQL vous répondra avec la liste de toutes les bases de données qui contiennent la table. Pour terminer, deux petites choses à savoir, si l'on a pas le nom exact de la table, ou que l'on cherche de multiples tables, il est possible d'effectuer un "like" pour trouver toutes les tables. Aussi, il s'agit d'une commande "lourde", qui peut prendre beaucoup de temps à l'exécution, il ne faut pas en abuser, en particulier sur un serveur de production.