Ich habe versucht, phpmyadmin mit ubuntu 14.04/mysql 5.7.12 auf meinem Digitalocean-Droplet zu installieren. Ich habe einen LAMP-Stack mit Apache als Webserver.
Während der Installation bekomme ich immer den hier angezeigten Fehler. E
Ich bin ziemlich neu bei phpmyadmin und frage mich, warum ich das immer wieder bekomme. Die Installation von phpmyadmin mit einer älteren Version von mysql war fehlerfrei. Ich versuche, es als Nicht-Root-Sudo-Benutzer zu installieren.
Jede Richtung oder Anregung wird sehr geschätzt.
Meine Maschinenkonfiguration - Ubuntu 16.04 - MySql 5.7.13 - PHP 7.0.8 - Apache 2.4.18
Bearbeiten Sie die Datei /etc/dbconfig-common/phpmyadmin.conf und ändern Sie sie
dbc_dbport=''
bis dbc_dbport='0'
Wenn Sie nach dem Bearbeiten und Speichern der Datei noch im dbconfig-common-Assistenten sind, wählen Sie retry ; Wenn nicht, Sudo dpkg-reconfigure phpmyadmin
ausführen (wählen Sie Yes , wenn Sie gefragt werden, ob Sie die Datenbank für phpmyadmin neu installieren möchten) und fahren Sie normal fort, ohne einen Wert zu ändern. Wenn Sie einen Wert ändern möchten, tun Sie dies in der zuvor bearbeiteten Datei.
Wenn Sie im Konfigurationsfenster gefragt werden, was Sie mit der vorhandenen Konfigurationsdatei tun möchten, wählen Sie Die aktuell installierte Version beibehalten .
An dieser Stelle können Sie die Unterschiede überprüfen und es müssen nur diejenigen vorhanden sein, die Sie in der Datei gemacht haben.
Das MySQL-Verhalten hat sich hier geändert. Sie haben also einige Optionen:
Update: Sie können diesen Fehler wie in Antwort von William Ardila beschrieben beheben.
Ich habe stundenlang im Internet gesucht, aber bis auf this funktionierte keiner für mich.
Nachdem ich dbc_dbport=''
in dbc_dbport='0'
geändert habe, sind noch einige andere Probleme aufgetreten.
Wenn Sie den Konfigurationsprozess nicht ordnungsgemäß fortsetzen können, führen Sie die folgenden zusätzlichen Schritte aus:
Wählen Sie zunächst einfach Abort.
Melden Sie sich dann bei mysql als root mit dem Kennwort an, das Sie bei der Installation von MariaDB festgelegt haben.
mysql -u root -p
Geben Sie als Nächstes den folgenden Befehl aus:
CREATE DATABASE phpmyadmin;
Geben Sie dann den folgenden Befehl ein: (Vergessen Sie nicht, changethispassword durch Ihr eigenes Kennwort zu ersetzen.
GRANT ALL ON phpmyadmin.* TO [email protected] IDENTIFIED BY 'changethispassword';
Beenden Sie mysql> mit:
\q
Bearbeiten Sie als Nächstes die Datenbankkonfiguration:
Sudo gedit /etc/phpmyadmin/config-db.php
Bearbeiten Sie den Parameter dbpass mit dem soeben definierten Kennwort.
<?php
##
## database access settings in php format
## automatically generated from /etc/dbconfig-common/phpmyadmin.conf
## by /usr/sbin/dbconfig-generate-include
##
## by default this file is managed via ucf, so you shouldn't have to
## worry about manual changes being silently discarded. *however*,
## you'll probably also want to edit the configuration file mentioned
## above too.
##
$dbuser='phpmyadmin';
$dbpass='changethispassword';
$basepath='';
$dbname='phpmyadmin';
$dbserver='localhost';
$dbport='';
$dbtype='mysql';
Ersetzen Sie änderungskennwort durch Ihr eigenes und speichern Sie. (Es muss bereits richtig eingestellt worden sein.)
Unsere Server-Konfiguration - Debian 8.x Mysql 5.7 PHP 5 + 7 Apache 2.4
Das sollte funktionieren :
deinstallieren Sie phpmyadmin (--purge) installieren Sie phpmyadmin neu (ignorieren Sie die Fehler) Überprüfen Sie, ob der Benutzer phpmyadmin und/oder die Datenbank in mysql vorhanden sind. Verwenden Sie dazu mysql console oder was auch immer. . Falls sie nicht vorhanden sind, erstellen Sie sie manuell Sie und GRANT phpmyadmin Benutzer haben alle Berechtigungen für die phpmyadmin-Tabelle.
bearbeiten Sie die Datei /etc/dbconfig-common/phpmyadmin.conf manuell so, dass sie die aktuellen Server-Einstellungen widerspiegelt (IHRE Mysql-Einstellungen - dbc_dbserver = 'Ihr_Server' dbc_dbport = 'Ihr_mysql_port' .__ benötigen zu diesem Zeitpunkt Fertigstellung)
bearbeiten Sie /etc/phpmyadmin/config-db.php so, dass sie die aktuellen Server-Einstellungen widerspiegelt (IHRE Mysql-Einstellungen $ dbserver = same_as_above $ dbport = Ihr_mysql_listening_port usw. - alle anderen Felder, die Sie ausfüllen müssen.
führen Sie dpkg-reconfigure phpmyadmin von der Konsole aus mit Root- oder Administratorrechten aus
wählen Sie Datenbank für phpmyadmin neu installieren - YES !! Wenn Sie im Konfigurationsfenster gefragt werden, was Sie mit der vorhandenen Konfigurationsdatei tun möchten, wählen Sie "Aktuelle lokale Version beibehalten".
In der Konsolenausgabe sollten Sie keine mysql leeren Portfehler mehr haben. Das hat bei mir funktioniert.
Keines der obigen Punkte hat in meinem Fall geholfen - weil mysql
irgendwie nicht ausgeführt wurde/nicht installiert war (Überprüfung durch Sudo systemctl status mysql
).
Sudo apt-get install mysql-server mysql-client
neu.Sudo dpkg-reconfigure phpmyadmin
und akzeptieren Sie die Standardeinstellungen - diesmal werden sie etwas anders sein (Sie können jedoch die Passwörter festlegen).Übrigens ist der Port in phpmyadmin.conf dbc_dbport=''
geblieben.
Zusammen mit
Meine Rechnerkonfiguration - Ubuntu 16.04 - MySql 5.7.13 - PHP 7.0.8 - Apache 2.4.18
Bearbeiten Sie die Datei /etc/dbconfig-common/phpmyadmin.conf
und ändern Sie sie
dbc_dbport='' to dbc_dbport='0'
Wenn Sie die Datei bearbeitet und gespeichert haben, wählen Sie erneut, wenn Sie sich noch im Assistenten für dbconfig-common befinden. Wenn nicht, führen Sie Sudo dpkg-reconfigure phpmyadmin
aus (wählen Sie "Ja", wenn Sie gefragt werden, ob Sie die Datenbank für phpmyadmin neu installieren möchten) und fahren Sie normal fort, ohne einen Wert zu ändern. Wenn Sie einen Wert ändern möchten, tun Sie dies in der zuvor bearbeiteten Datei.
Wenn Sie im Konfigurationsfenster gefragt werden, was Sie mit der vorhandenen Konfigurationsdatei tun möchten, wählen Sie "Lokal installierte Version beibehalten".
An dieser Stelle können Sie die Unterschiede überprüfen und es müssen nur diejenigen vorhanden sein, die Sie in der Datei gemacht haben.
Lösung Ich musste diese Zeile auch ändern:
"&& ($analyzed_sql_results['select_expr'][0] == '*')))" to "&& ($analyzed_sql_results['select_expr'][0] == '*'))"
Danach hat alles funktioniert!
Eine weitere Problemumgehung, ich habe Ubuntu 14.04 -> 16.04 aktualisiert:
Assistent läuft durch :)
Ich habe dieses Problem gelöst, nachdem ich sowohl dem 'mysql'-root als auch dem' mysql'-Benutzer Kennwörter hinzugefügt habe. Wenn Sie eines oder beide der Felder leer lassen, können Sie Folgendes tun:
Sudo -i
prüfen:
whoami
wenn "root", geben Sie Folgendes ein:
mysql
oder mysql -u root -p
für den Fall, dass Sie bereits ein Passwort für das Stammverzeichnis haben.
mySQL-Terminal öffnet sich; Dann habe ich die Passwörter hinzugefügt:
mysql> ALTER USER 'root' @ 'localhost' IDENTIFIED WITH my_sql_native_password BY 'newpassword';
Und/oder dasselbe für "Benutzer", falls erforderlich. Sobald ich die Passwörter für meinen Benutzer in MySQL und phpMyAdmin identisch gemacht hatte, war ich fertig.
Bevor ich die Passwörter hinzufügte, wendete ich die Hinweise von @William Ardilla sowie @ user5781956 an. Vielleicht reicht nur @ William Ardilla's.