web-dev-qa-db-fra.com

Comment activer la vue Designer de phpMyAdmin?

J'exécute phpMyAdmin localement et j'essaie d'activer l'outil Designer.

Screenshot of phpMyAdmin's Designer view

Comment activez-vous la vue concepteur pour phpMyAdmin?

J'ai lu pas mal de tutoriels sur la façon d'activer la vue Designer pour phpMyAdmin et ils ont tous des directions différentes qui ne semblent jamais vraiment le faire fonctionner.

J'utilise la version 4.0.7

28
Carrie Kendall

Les étapes suivantes activeront le concepteur dans phpMyAdmin 4+ en supposant que phpMyAdmin se trouve dans le dossier phpMyAdmin:

  • Ouvrez phpMyAdmin/config.inc.php Et phpMyAdmin/config.sample.inc.php.
  • Localisez les paramètres de stockage de la configuration phpMyAdmin dans config.sample.inc.php (Lignes 38-66 dans 4.0.7).
  • Copiez toute la configuration utilisateur de contrôle et de stockage db/table et collez-la dans config.inc.php. Lorsque vous avez terminé, votre config.inc.php devrait inclure quelque chose comme ceci:

4.0.7 Exemple:

/* change this info to whatever user has read-only access to the "mysql/user" and "mysql/db" tables */          
$cfg['Servers'][$i]['controluser']   = 'root'; //this is the default user for MAMP's mysql
$cfg['Servers'][$i]['controlpass']   = 'root'; //this is the default password for MAMP's mysql

/* this information needs to line up with the database we're about to create so don't edit it unless you plan on editing the SQL we're about to run */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';  
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
$cfg['Servers'][$i]['history'] = 'pma__history';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['designer_coords'] = 'pma__designer_coords';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';

Remarque: Nous indiquons simplement à phpMyAdmin à quels noms de base de données et de table stocker les détails de configuration spécifiques. Ajoutons maintenant la base de données.

  • phpMyAdmin s'installe avec le SQL dont nous avons besoin pour générer la base de données sur laquelle le Designer s'appuie. Nous avons juste besoin de localiser le script. Dans la version 4.0.7, l'emplacement du fichier est phpMyAdmin/examples/create_tables.sql. Alternativement, vous pouvez copier/télécharger ceci depuis github de phpMyAdmin .
  • Une fois que vous avez localisé le fichier, importez le fichier ou copiez/collez-le dans une fenêtre SQL et exécutez-le dans phpMyAdmin.
  • Maintenant, tout doit être configuré correctement. Nous devons effacer les cookies et redémarrer le navigateur.
  • Lorsque vous ouvrez la sauvegarde de phpMyAdmin, accédez à une table spécifique et dans les onglets, vous devriez voir l'onglet Designer.

Avertissement: Ces instructions sont spécifiquement basées sur la nouvelle structure de dossiers dans phpMyAdmin 4+. Vous pouvez appliquer les mêmes instructions en utilisant le github de phpMyAdmin config.sample.php et le create-table.sql qui l'accompagne. Choisissez votre version de phpMyAdmin en sélectionnant la bonne branche.

40
Carrie Kendall

Cela peut être déroutant si vous suivez simplement l'autre réponse. Oui, vous devez modifier la configuration comme expliqué, mais cette configuration fait référence à un utilisateur MySQL avec des privilèges spéciaux. Ceci est expliqué ici: https://wiki.phpmyadmin.net/pma/controluser dans la section sur les fonctionnalités de pmadb. Par conséquent, il y a deux étapes: (copier-coller à partir de la page liée)

  1. Dans mysql:

    GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin. * TO 'pma' @ 'localhost';

  2. Dans ./config.inc.php:

    $ cfg ['Servers'] [$ i] ['controluser'] = 'pma'; // Utilisez ici le nom d'utilisateur créé au-dessus de $ cfg ['Servers'] [$ i] ['controlpass'] = 'pmapass'; // utilise ici le mot de passe pour correspondre à cet utilisateur

1
ben26941

Pour Debian Jessie, 8.6 w/phpMyAdmin 4: 4.2.12-2 + deb8u2, voici comment j'ai résolu ceci:

Je sais que c'est assez compliqué. De toute évidence, il y a un problème avec le programme d'installation, mais je ne sais pas par où commencer pour le réparer. C'est donc une solution de contournement pour l'instant. Il semble y avoir beaucoup de gens ayant des problèmes avec ce problème, et il semble qu'il existe une variété de solutions qui fonctionnent sous différentes versions.


0) Comme suggéré dans les notes de configuration de Debian ici J'ai fait cela en premier. Cela n'a pas résolu le problème, mais cela a peut-être aidé. Il vous pose à nouveau des questions et le paramètre -p low s'assure de toutes les poser:

dpkg-reconfigure -plow phpmyadmin

Il dit "il crée une base de données phpmyadmin" (et ce sont des tableaux), mais ce n'est pas le cas, nous allons donc les créer manuellement ci-dessous.


1) Exécutez phpMyAdmin en le saisissant dans votre navigateur, (vous devez avoir PHP support activé sur votre serveur web) . Vous aurez besoin du nom d'utilisateur et du mot de passe de votre serveur MariaDB ou MySQL. Normalement, le nom d'utilisateur est root. Pour moi, le serveur est local, donc mon choix de serveur est localhost:

 http://localhost/phpmyadmin/

2) Décompressez /usr/share/doc/phpmyadmin/examples/create_tables.sql.gz et extrayez le SQL. J'ai dû utiliser un éditeur pour supprimer les lignes de commentaires commençant par "-".

((NOTE Je pense que cette archive peut être temporairement corrompue car elle donne une erreur lorsque j'essaye de la décompresser manuellement. Mais vous pouvez utiliser cette astuce pour l'ouvrir:

 dd if=create_tables.sql.gz  | gunzip -f 

L'interface graphique "Ouvrir avec le gestionnaire d'archives" me permet également de l'ouvrir.

3) Sélectionnez l'onglet SQL, collez ce sql du # 2 dans la boîte SQL, et cliquez sur 'Go' pour créer la base de données et les tables. (C'est le SQL manquant qui est supposé être dans /etc/phpmyadmin/sql/create_tables.sql.)

4) Créez l'utilisateur sql nommé 'pma'. Ouvrez phpMyAdmin, sélectionnez Accueil | Utilisateurs | Ajoutez un utilisateur et ajoutez un nouvel utilisateur nommé "pma" comme suit:

User name: Use text field: pma 
Host: Local: localhost 
Password: Use text field: <enter a new password for user pma>

Global privileges (leave all boxes unchecked)

5) Accordez à l'utilisateur pma un accès complet à la nouvelle base de données phpmyadmin. Sélectionnez à nouveau Accueil | Utilisateurs | Modifier les privilèges de l'utilisateur pma. Attention maintenant ... Sélectionnez "Base de données" vers le haut de l'écran. À côté de "Ajouter des privilèges sur la base de données suivante:", sélectionnez phpmyadmin. Cliquez ensuite sur la case "Tout cocher", puis cliquez sur "OK".

REMARQUE: les privilèges globaux pour pma doivent toujours être décochés!

6) Modifiez /etc/phpmyadmin/config-db.php et changez les lignes suivantes:

 $dbuser='pma';
 $dbpass='<your pma user's password>';

7a) Décommentez les lignes suivantes dans /etc/phpmyadmin/config.inc.php:

/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';

/* Server parameters */
if (empty($dbserver)) $dbserver = 'localhost';
$cfg['Servers'][$i]['Host'] = $dbserver;

if (!empty($dbport) || $dbserver != 'localhost') {
    $cfg['Servers'][$i]['connect_type'] = 'tcp';
    $cfg['Servers'][$i]['port'] = $dbport;
}
//$cfg['Servers'][$i]['compress'] = false;

/* Select mysqli if your server has it */
$cfg['Servers'][$i]['extension'] = 'mysqli';

/* Optional: User for advanced features */
$cfg['Servers'][$i]['controluser'] = $dbuser;
$cfg['Servers'][$i]['controlpass'] = $dbpass;

/* Optional: Advanced phpMyAdmin features */
$cfg['Servers'][$i]['pmadb'] = $dbname;
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
$cfg['Servers'][$i]['history'] = 'pma__history';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['designer_coords'] = 'pma__designer_coords';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
$cfg['Servers'][$i]['recent'] = 'pma__recent';
$cfg['Servers'][$i]['favorite'] = 'pma__favorite';
$cfg['Servers'][$i]['users'] = 'pma__users';
$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
$cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
$cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';

7b) Décommentez également les lignes suivantes dans /etc/phpmyadmin/config.inc.php, et changez controluser en 'pma', et ajoutez également votre mot de passe à la ligne 3 ci-dessous:

/* Optional: User for advanced features */
 $cfg['Servers'][$i]['controluser'] = 'pma';
 $cfg['Servers'][$i]['controlpass'] = '<insert your password here>';

/* Storage database and tables */
 $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
 $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
 $cfg['Servers'][$i]['relation'] = 'pma__relation';
 $cfg['Servers'][$i]['table_info'] = 'pma__table_info';
 $cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
 $cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
 $cfg['Servers'][$i]['column_info'] = 'pma__column_info';
 $cfg['Servers'][$i]['history'] = 'pma__history';
 $cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
 $cfg['Servers'][$i]['tracking'] = 'pma__tracking';
 $cfg['Servers'][$i]['designer_coords'] = 'pma__designer_coords';
 $cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
 $cfg['Servers'][$i]['recent'] = 'pma__recent';
 $cfg['Servers'][$i]['favorite'] = 'pma__favorite';
 $cfg['Servers'][$i]['users'] = 'pma__users';
 $cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
 $cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
 $cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';

8) Ensuite, déconnectez-vous/connectez-vous.


Remarque, sur Debian, les répertoires importants sont:

  • / etc/phpmyadmin/- vos fichiers d'installation modifiables
  • / usr/share/phpmyadmin/bibliothèques - inclut un fichier de configuration par défaut
1
Elliptical view

Pour moi sur MySQL 4.6.0, la vue Designer était accessible mais ne sauvegardait pas l'état de la disposition.

J'ai ensuite fait ce qui suit pour le faire fonctionner:

  1. créé un répertoire ./phpmyadmin/config/
  2. config chmod 777
  3. est allé à http: // localhost/phpmyadmin/setup / et a suivi les instructions de base, en utilisant les valeurs par défaut
  4. puis dans l'application web phpmyadmin, il y avait un lien hypertexte rouge dans une bulle de pied de page qui disait quelque chose sur une table devant être créée (je ne me souviens pas du texte exact ou de la section de navigation dans laquelle j'étais ... je suppose que c'était sur une base de données dans l'onglet opérations). Cela a créé une nouvelle table appelée phpmyadmin et je pense que c'est là que le concepteur enregistre les dispositions.

Après avoir fait cela, j'ai pu enregistrer l'état de la disposition de mon concepteur - c'est-à-dire que phpMyAdmin Designer était maintenant activé.

0
Kit