Ich verwende Ubuntu Desktop 16.04 (von 15.10 aktualisiert).
Ich hatte phpmyadmin von von installiert apt-get install phpmyadmin
. Es funktioniert, wenn ich gehe, localhost/phpmyadmin
aber ich kann mich nicht als root anmelden.
Ich habe viel danach gesucht. Ich habe viele Quellen gefunden, in denen vorgeschlagen wird /etc/phpmyadmin/config.inc.php
, Benutzer und Passwort durch 'root' und '' (leer für Passwort) zu ersetzen. Aber meine config.inc.php
ist anders als ihre. Zum Beispiel gibt es in meiner Datei keine Zeile für Benutzer und Passwort und es scheint, dass es automatisch aus einer anderen Datei stammt, die ist /etc/phpmyadmin/config-db.php
. Trotzdem habe ich den Benutzer und das Passwort in dieser Datei geändert, aber jetzt erhalte ich diese Fehlermeldung:
#1698 - Access denied for user 'root'@'localhost'
Was sollte ich tun?
Phpmyadmin Version: 4.5.4.1deb2ubuntu1 mysql
Ver 14.14 Distrib 5.7.12 für Linux (x86_64) mit EditLine-Wrapper
quelle
Antworten:
MySQL 5.7 hat das sichere Modell geändert: Jetzt
root
erfordert die Anmeldung bei MySQL asudo
.Dh, wird phpMyAdmin sein nicht die Lage zu verwenden
root
Anmeldeinformationen.Die einfachste, sicherste und dauerhafteste Lösung besteht darin, einen neuen Benutzer zu erstellen und die erforderlichen Berechtigungen zu erteilen.
1. Stellen Sie eine Verbindung zu MySQL her
2. Erstellen Sie ein echtes Passwort
In den folgenden Schritten verwende ich
some_pass
als Beispiel ein Passwort. BITTE ERSETZEN SIE ES DURCH IHR PASSWORT! NICHTSOME_PASS
ALS PASSWORT VERWENDEN!3. Erstellen Sie einen Benutzer für phpMyAdmin
Führen Sie die folgenden Befehle aus (ersetzen Sie sie
some_pass
durch das gewünschte Kennwort):Wenn Ihr phpMyAdmin eine Verbindung zu localhost herstellt, sollte dies ausreichen.
4. Optional und unsicher: Remoteverbindungen zulassen
Denken Sie daran : Die Berechtigung eines Remotebenutzers für alle Berechtigungen ist ein Sicherheitsrisiko, das in den meisten Fällen nicht erforderlich ist.
Wenn Sie möchten, dass dieser Benutzer bei Remoteverbindungen über dieselben Berechtigungen verfügt, führen Sie in diesem Zusammenhang zusätzlich Folgendes aus (ersetzen Sie dies
some_pass
durch das in Schritt 2 verwendete Kennwort):5. Aktualisieren Sie phpMyAdmin
sudo
Bearbeiten Sie mithilfe von die/etc/dbconfig-common/phpmyadmin.conf
Datei, und aktualisieren Sie die Benutzer- / Kennwortwerte in den folgenden Abschnitten (ersetzen Sie siesome_pass
durch das in Schritt 2 verwendete Kennwort):quelle
root
Benutzer jedoch immer diesudo
Verwendung auf 5.7 verlangte . Daher habe ich die Antwort aktualisiert, um einen neuen Benutzer mit allen Berechtigungen zu erstellen.Ich hatte das gleiche Problem bei der Verwendung von mariaDB mit phpmyadmin (Ubuntu 16.04LTS).
Voraussetzungen:
1) Installieren Sie MariaDB
Wenn Sie deinstallieren möchten
mariaDB
:2) Installieren Sie phpmyadmin
3) Erstellen Sie in apache2 einen symbolischen Link zu phpmyadmin
Ok, jetzt, wenn Sie Raels Anweisungen folgen, können Sie sich einloggen
phpmyadmin
, aber zumindest für mich konnte ich keine neuen Datenbanken erstellen, da eine rote Meldung auftauchte:No privileges
(oder eine ähnliche Meldung)Die Lösung bestand darin, phpmyadmin neu zu konfigurieren und einige interaktive Fragen zu beantworten.
Wenn Sie nun versuchen, eine Verbindung mit phpmyadmin (
localhost/phpmyadmin
) herzustellen, verwenden SieSie können Datenbanken erstellen.
quelle
sudo dpkg-reconfigure phpmyadmin
irgendeine Verbindung zur Installation von Mariadb und zur Deinstallation von MySQL? Wenn ja, dann könnten Ihre Informationen nützlich sein (möglicherweise, weil Sie die Entfernung von mysql vorschlagen, das ist die Datenbank, die ich verwende und die ich verwenden werde). Wenn nicht, gibt es keinen Grund, es als Kontext anzugeben. Wenn ich falsch liege, mach mich korrekt.Überprüfen Sie in Ubuntu 16.04 für MySQL 5.7 die folgenden Tabelleninformationen und nehmen Sie die erforderlichen Einstellungen vor:
Überprüfen Sie, ob root das Plugin auth_socket hat, und führen Sie den folgenden Befehl aus:
quelle
apt
Update funktionieren . Das heißt, Sie müssen dies nach jedem MySQL-Update auf Ubuntu anwenden.Wenn phpymadmin keine Verbindung herstellen kann, kann dies an dem auf eingestellten Authentifizierungsmechanismus liegen
auth_socket
. Sie können es so ändern, dass ein normales Passwort verwendet wird:Ich hatte gerade Probleme damit, eine saubere Installation von Ubuntu 18.04 zu machen, und das hat dazu beigetragen, dass es funktioniert. Es gibt hier einen anständigen Artikel, der mehr erklärt:
https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/
quelle
Der Vollständigkeit halber habe ich eine Lösung für meine Probleme bei der Verwendung von MariadB Version 10.1.23 gefunden. Die Syntax, die zum Einrichten eines neuen Benutzers verwendet wird, ähnelt der in dem obigen Beitrag von @Rael Gugelmin Cunha beschriebenen.
Grüße
quelle
Ich hatte das gleiche Problem, ich habe die meisten Ratschläge befolgt und nichts davon hat bei mir funktioniert! Mein Problem war dasselbe, als ich http: // localhost / phpmyadmin in meinem Browser öffnete und nach den Anmeldedaten fragte.
Ich habe root als Benutzer verwendet und das mir bekannte Passwort war korrekt. Und ich bekam
Alles was es brauchte, war
phpmyadmin
als Benutzer zu arbeiten, nichtroot
mit dem bekannten Passwort und es ließ mich rein.quelle
some_pass
durch ein echtes Passwort zu ersetzen !Bezugnehmend auf Rael Cunha:
Ja, seine Lösung funktioniert, und ich habe andere ausprobiert. Wenn Sie sich jedoch auf einen Benutzer beziehen, der ein offengelegtes Kennwort in einer Konfigurationsdatei hat,
/etc/dbconfig-common/phpmyadmin.conf
sieht dies wie eine Sicherheitslücke für eine systemweite Aktion aus.Ich würde also eher vorschlagen, was
MariaDB 10.1.x
das angeht (some_user und some_pass sind alles, was Ihnen einfällt):und belasse phpadmin setup (4) wie es ist.
Melden Sie sich anschließend mit Ihren eigenen Zugangsdaten bei phpmyadmin an
In meinen eigenen Setups ersetze ich aus Sicherheitsgründen das obige '%' durch 'localhost', aber wenn Sie Port 3306 auf Ihrem Server geschlossen haben, würde dies nicht unbedingt ein Sicherheitsrisiko für Sie darstellen.
quelle
Nur der folgende Code funktioniert für Ubuntu 18.04, PHP 7 und MySQL 5.7
Ersetzen Sie 'phpmyadmin' nicht. Das Erstellen eines anderen Benutzers hat keine vollständigen Berechtigungen wie das Erstellen eines neuen Benutzers. Weisen Sie diesem Benutzer auf diese Weise Datenbankberechtigungen zu. Nur phpmyadmin-Benutzer erhalten vollen Zugriff.
quelle
Wenn Sie MySQL separat installieren, stoppen Sie es mit dem folgenden Befehl: sudo / opt / lampp / lampp stop service mysql stop sudo / opt / lampp / lampp start
quelle