J'utilise le bureau Ubuntu 16.04 (mis à jour à partir de 15.10).
J'avais installé phpmyadmin de by apt-get install phpmyadmin
. Cela fonctionne si je vais à localhost/phpmyadmin
mais je ne peux pas me connecter en tant que root.
Je l'ai beaucoup cherché. J'ai trouvé de nombreuses sources dans lesquelles ils suggèrent de modifier /etc/phpmyadmin/config.inc.php
et de remplacer l'utilisateur et le mot de passe par 'root' et '' (vide pour mot de passe). Mais le mien config.inc.php
est différent du leur. Par exemple, dans mon fichier, il n'y a pas de ligne pour l'utilisateur et le mot de passe et il semble qu'il l'obtienne automatiquement à partir d'un autre fichier qui est /etc/phpmyadmin/config-db.php
. Malgré cela, j'ai changé l'utilisateur et le mot de passe dans ce fichier, mais maintenant j'obtiens cette erreur:
#1698 - Access denied for user 'root'@'localhost'
Ce que je devrais faire?
Phpmyadmin Version: 4.5.4.1deb2ubuntu1
mysql Ver 14.14 Distrib 5.7.12, pour Linux (x86_64) en utilisant le wrapper EditLine
la source
Réponses:
MySQL 5.7 a changé le modèle sécurisé: maintenant, la
root
connexion à MySQL nécessite unsudo
.C'est-à-dire que phpMyAdmin ne pourra pas utiliser les
root
informations d'identification.La solution la plus simple, la plus sûre et la plus permanente sera la création d’un nouvel utilisateur et l’octroi des privilèges requis.
1. Connectez-vous à mysql
2. Créez un vrai mot de passe
Dans les étapes ci-dessous, je vais utiliser
some_pass
comme exemple de mot de passe. VEUILLEZ, REMPLACEZ-LE PAR VOTRE MOT DE PASSE! NE PAS UTILISERSOME_PASS
COMME MOT DE PASSE!3. Créez un utilisateur pour phpMyAdmin
Exécutez les commandes suivantes (en les remplaçant
some_pass
par le mot de passe souhaité):Si votre phpMyAdmin se connecte à localhost, cela devrait suffire.
4. Facultatif et non sécurisé: autoriser les connexions à distance
Rappelez - vous : autoriser un utilisateur distant à disposer de tous les privilèges est un problème de sécurité qui n’est pas requis dans la plupart des cas.
Dans cet esprit, si vous souhaitez que cet utilisateur dispose des mêmes privilèges lors des connexions à distance, exécutez-le en plus (en le remplaçant
some_pass
par le mot de passe utilisé à l'étape 2):5. Mettre à jour phpMyAdmin
En utilisant
sudo
, éditez le/etc/dbconfig-common/phpmyadmin.conf
fichier en mettant à jour les valeurs d’utilisateur / mot de passe dans les sections suivantes (en le remplaçantsome_pass
par le mot de passe utilisé à l’étape 2):la source
root
utilisateur a toujours demandé l'sudo
utilisation de la version 5.7. J'ai donc mis à jour la réponse pour guider la création d'un nouvel utilisateur avec tous les privilèges.J'avais le même problème lorsque j'utilisais mariaDB avec phpmyadmin (Ubuntu 16.04LTS).
Conditions préalables:
1) Installez MariaDB
Si vous souhaitez désinstaller
mariaDB
:2) Installer phpmyadmin
3) Dans apache2, créez un lien symbolique vers phpmyadmin
Ok, maintenant, si vous suivez les instructions de Rael, vous pourrez vous connecter
phpmyadmin
, mais au moins pour moi, je n'ai pas pu créer de nouvelles bases de données, un message rouge est apparu:No privileges
(ou un message similaire)Le correctif consistait à reconfigurer phpmyadmin et à répondre à des questions interactives.
Maintenant, si vous essayez de vous connecter à phpmyadmin (
localhost/phpmyadmin
) en utilisantvous pourrez créer des bases de données.
la source
sudo dpkg-reconfigure phpmyadmin
est liée à l’installation de mariadb et à la désinstallation de MySQL? Si oui, alors vos informations pourraient être utiles (peut-être parce que vous suggérez la suppression de mysql qui est la base de données que j'utilise et que je vais utiliser). Sinon, il est inutile de donner le contexte. Si je me trompe, corrigez-moi.Dans Ubuntu 16.04 pour Mysql 5.7, vérifiez les informations du tableau ci-dessous et effectuez les réglages nécessaires:
Vérifiez si root a le plugin auth_socket, puis lancez la commande ci-dessous:
la source
apt
mise à jour de MySQL . C'est-à-dire que vous devrez appliquer cela après chaque mise à jour MySQL sous Ubuntu.Si phpymadmin ne peut pas se connecter, c'est peut-être parce que le mécanisme d'authentification est défini sur
auth_socket
. Vous pouvez le changer pour utiliser un mot de passe régulier comme ceci:Je me débattais tout à l'heure avec cette nouvelle installation d'Ubuntu 18.04 et c'est ce qui a fait que cela fonctionne. Il y a un article décent ici expliquant plus:
https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/
la source
Pour être complet, j'ai trouvé une solution à mon problème en utilisant MariadB version 10.1.23. La syntaxe à utiliser pour configurer un nouvel utilisateur est similaire à celle décrite dans l'article ci-dessus de @Rael Gugelmin Cunha. J'ai mis ici ma solution pour référence aux autres personnes confrontées au même problème:
Cordialement
la source
J'ai eu le même problème, j'ai suivi la plupart des conseils et rien de tout cela n'a fonctionné pour moi! Mon problème était le même quand j'ai ouvert http: // localhost / phpmyadmin dans mon navigateur, il a demandé le journal dans les détails.
J'utilisais root en tant qu'utilisateur et le mot de passe que je connaissais était correct. Et je devenais
Il suffisait d’utiliser
phpmyadmin
comme utilisateur, pasroot
avec le mot de passe connu, et cela m’a laissé entrer.la source
some_pass
par un vrai mot de passe!Se référant à Raël Cunha:
Oui, sa solution fonctionne et j'en ai essayé d'autres. Cependant, faire référence à un utilisateur ayant un mot de passe exposé sur un fichier de configuration,
/etc/dbconfig-common/phpmyadmin.conf
ressemble à une faille de sécurité pour une action à l'échelle du système.Donc, je préférerais suggérer ce qui
MariaDB 10.1.x
est concerné (some_user et some_pass seront tout ce que vous pourrez trouver):et en laissant phpadmin setup (4) tel quel.
Connectez-vous à phpmyadmin avec vos propres informations d'identification après coup
Sur mes propres configurations, je remplace le '%' ci-dessus par 'localhost' pour des raisons de sécurité, mais si vous fermez le port 3306 sur votre serveur, cela ne présente pas nécessairement de risque de sécurité.
la source
Seul le code ci-dessous fonctionne pour Ubuntu 18.04, php 7 ci-dessus et mysql 5.7
Ne remplacez pas 'phpmyadmin'. La création d'un autre utilisateur ne dispose pas des privilèges complets. Par exemple, créez un nouvel utilisateur, attribuez-lui les privilèges de base de données à cet utilisateur. Seul l'utilisateur phpmyadmin aura un accès complet.
la source
si vous installez MySQL séparément, arrêtez-le avec cette commande ci-dessous sudo / opt / lampp / lampp arrêter le service mysql arrêter sudo / opt / lampp / lampp start
la source