web-dev-qa-db-fra.com

Aucune base de données affichée dans phpMyAdmin

Mon site Web est hébergé sur un service d'hébergement partagé et fonctionne correctement avec les nouvelles mises à jour stockées dans la base de données MySQL. Pour gérer la base de données du site Web, j'installe phpMyAdmin dans un sous-dossier avec le même nom d'utilisateur et le même mot de passe utilisés sur le site Web.

Lorsque je me connecte à phpMyAdmin, je ne vois pas ma base de données. phpMyAdmin affiche "Aucune base de données" dans le volet de gauche.

Dois-je configurer phpMyAdmin?

Modifié: ce sont les paramètres dans config.inc.php. Je peux me connecter à phpMyAdmin avec succès.

$cfg['Servers'][$i]['Host'] = 'hostname';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'dbuser';
$cfg['Servers'][$i]['password'] = 'password';
4
Thein Hla Maw

Le problème est que l'utilisateur de la base de données n'a pas le privilège "SHOW DATABASES". C'est pourquoi aucune base de données n'est affichée dans phpMyAdmin.

Je dois d'abord interroger "USE mydatabase" dans l'onglet SQL. Après cela, je peux voir et gérer ma base de données.

3
Thein Hla Maw

Ce que vous devez faire est de modifier $cfg['Servers'][$i]['hide_db'] car il accepte les expressions régulières, donc il existe par défaut:

$cfg['Servers'][$i]['hide_db']='(mysql|information_schema|performance_schema|test|phpmyadmin)';

Vous devriez le changer en:

$cfg['Servers'][$i]['hide_db']='^(mysql|information_schema|performance_schema|test|phpmyadmin)$';

Désormais, seules les bases de données exactes seront cachées dans phpMyAdmin et non celles qui portent ces mots.

La documentation officielle de hide_db est disponible ici: http://docs.phpmyadmin.net/en/latest/config.html?highlight=hide_db#cfg_Servers_hide_db mais ce n’est pas très évident, cela devrait être fait et c’est très étrange ce n'est pas fait être par défaut

2

Cela peut ne pas vous aider, mais cela pourrait aider quelqu'un d'autre. EasyPHP avait installé wamp stack et pouvait créer une base de données dans phpMyAdmin mais cela ne figurerait pas dans la liste des bases de données. Je me suis connecté manuellement à mysql via la console de ligne de commande et j'ai pu voir ma base de données. Frappais ma tête contre le mur sur celui-ci.

Il s'avère que j'ai nommé ma base de données test1 et que le fichier de configuration phpMyAdmin a une ligne spéciale pour ignorer les bases de données commençant par test:

$cfg['Servers'][$i]['hide_db'] = '(mysql|information_schema|performance_schema|test|phpmyadmin)';

Même après avoir vu cette ligne, je pensais que cela bloquait le nom exact test. Cependant, l'ajout d'un autre nom de base de données aléatoire tel que computer est apparu instantanément dans la liste des bases de données phpMyAdmin, de sorte qu'il semble qu'il bloque tout ce qui commence par (ou contient éventuellement) le test Word.

La solution consiste donc à modifier la ligne de configuration ci-dessus ou à ne pas créer de base de données avec test dans le nom.

2
User

Je crois que vous devriez configurer le fichier de configuration

http://wiki.phpmyadmin.net/pma/Config

1
Sabeen Malik