ubuntuusers.de

mysql + phpmyadmin

Status: Ungelöst | Ubuntu-Version: Ubuntu 18.04 (Bionic Beaver)
Antworten |

frank-w

Anmeldungsdatum:
30. September 2008

Beiträge: Zähle...

Hallo,

ich habe bereits unter diversen Systemen mysql und phpmyadmin aufgesetzt, aber unter ubuntu 18.4 ist das mit massiven Problemen verbunden. Hier möchte ich ein testsystem aufsetzen und habe dafür die passwort-validierung deaktiviert (mysql> uninstall plugin validate_password;) damit ich auch "unsichere" Passwörter vergeben kann. innerhalb von phpmyadmin gabs immer wieder komische Fehlermeldungen der hintergrund-scripte, man konnte aber sonst normal damit arbeiten

damit habe ich nun das PW meines Root-users (8 stellig inkl. Ziffern) und einen web-user angelegt. Nach einem Reboot komme ich jedoch nicht mehr als root in phpmyadmin rein (keine Fehlermeldung einfach die Loginmaske wieder). über console kann ich mich einloggen. über google bzw. über die forumsuche habe ich nichts passendes gefunden (alles ältere Beiträge).

ich habe versucht phpmyadmin zu deinstallieren (apt-get remove --purge) und neu zuinstallieren...nun bekomme ich permanent eine Absturzmeldung in der GUI.

apt-get meckert auch nicht mehr, bei der neuinstallation kam noch

W: APT had planned for dpkg to do more than it reported back (0 vs 4).

hat mir aber nicht gesagt, welche Tasks das sind...

unter 14.4 war ie installation ein Kinderspiel, Frage nach dem mysql-root-pw während der installation, kein Zwang zu einem 50zeichen-root-passwort, kein Problem phpmyadmin einzurichten...

habt ihr Tips, wie man das sauber hinbekommt?

zettberlin

Avatar von zettberlin

Anmeldungsdatum:
23. Oktober 2006

Beiträge: 623

Wohnort: Celle

MariaDB hat sein Sicherheitskonzept so geändert, dass sich der MySQL Root nur anmelden kann, wenn man beim Anmelden selber Root in Linux ist. Der PhpMyAdmin Nutzeraccount ist aber www-data, nicht root.

In Kurz: es sollte Dein Problem lösen, wenn Du so vorgehst:

1.) in einem Terminal mit sudo su root werden 2.) mysql -uroot -p eingeben, um den Mysql client zu starten 3.) Folgenede Befehle eingeben (einen nach dem anderen)

1
2
3
 CREATE USER 'phpmyadmin'@'localhost' IDENTIFIED BY 'DeinPasswort';
 GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost' WITH GRANT OPTION;
 FLUSH PRIVILEGES;

Danach kannst Du Dich als Nutzer phpmyadmin mit DeinPasswort in PhpMyadmin anmelden und alles machen, was root auch darf.

frank-w

(Themenstarter)

Anmeldungsdatum:
30. September 2008

Beiträge: 419

Danke, damit komme ich zumindest wieder rein (wenn auch erst beim 3. versuch und scheinbar nur via https....auch wenn die konfig nicht anders ist)

jetzt sehe ich nur noch die Fehler in phpmyadmin selbst

Warning in ./libraries/sql.lib.php#613
count(): Parameter must be an array or an object that implements Countable

zielt auf

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
 604 function PMA_isRememberSortingOrder($analyzed_sql_results)
 605 {
 606     return $GLOBALS['cfg']['RememberSorting']
 607         && ! ($analyzed_sql_results['is_count']
 608             || $analyzed_sql_results['is_export']
 609             || $analyzed_sql_results['is_func']
 610             || $analyzed_sql_results['is_analyse'])
 611         && $analyzed_sql_results['select_from']
 612         && ((empty($analyzed_sql_results['select_expr']))
 613             || (count($analyzed_sql_results['select_expr'] == 1)
 614                 && ($analyzed_sql_results['select_expr'][0] == '*')))
 615         && count($analyzed_sql_results['select_tables']) == 1;
 616 }
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
./libraries/sql.lib.php#2128: PMA_isRememberSortingOrder(array)
./libraries/sql.lib.php#2079: PMA_executeQueryAndGetQueryResponse(
array,
boolean true,
string 'db',
string 'fw_table',
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
string '',
string './themes/pmahomme/img/',
NULL,
NULL,
NULL,
string 'SELECT * FROM `fw_table`',
NULL,
NULL,
)
./sql.php#221: PMA_executeQueryAndSendQueryResponse(
array,
boolean true,
string 'db',
string 'fw_table',
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
string '',
string './themes/pmahomme/img/',
NULL,
NULL,
NULL,
string 'SELECT * FROM `fw_table`',
NULL,
NULL,
)

zettberlin

Avatar von zettberlin

Anmeldungsdatum:
23. Oktober 2006

Beiträge: 623

Wohnort: Celle

frank-w schrieb:

jetzt sehe ich nur noch die Fehler in phpmyadmin selbst

Ich habe mich auch nie in den monströsen Wirrwarr von PMAs legacy code eingearbeitet, vermuten kann ich nur, dass die Datenbank, die PHPmyAdmin selbst verwendet nicht oder nicht richtig angelegt ist. Eventuell kannst Du das mit dpkg beheben:

1
2
sudo su
dpkg reconfigure phpmyadmin

frank-w

(Themenstarter)

Anmeldungsdatum:
30. September 2008

Beiträge: 419

auch wenn das eigentlich hätte passieren sollen, wenn ich mit --purge deinstalliere und installiere, habe ich es trotzdem mal gemacht

[17:15:46]$ sudo dpkg-reconfigure phpmyadmin
Determining localhost credentials from /etc/mysql/debian.cnf: succeeded.
Determining localhost credentials from /etc/mysql/debian.cnf: succeeded.
dbconfig-common: writing config to /etc/dbconfig-common/phpmyadmin.conf
Replacing config file /etc/dbconfig-common/phpmyadmin.conf with new version
Replacing config file /etc/phpmyadmin/config-db.php with new version
checking privileges on database phpmyadmin for phpmyadmin@localhost: password update needed.
granting access to database phpmyadmin for phpmyadmin@localhost: success.
verifying access for phpmyadmin@localhost: success.
dbconfig-common: dumping mysql database phpmyadmin to /var/tmp/phpmyadmin.phpmyadmin.2018-10-19-17.16.mysql.fCEhh7.
dbconfig-common: dropping old mysql database phpmyadmin.
dropping database phpmyadmin: success.
verifying database phpmyadmin was dropped: success.
creating database phpmyadmin: success.
verifying database phpmyadmin exists: success.
populating database via sql...  done.
dbconfig-common: flushing administrative password

nun komme ich aber wieder nicht mit meinem Benutzer in phpmyadmin rein (keine Fehlermeldung, einfach wieder die Login-Maske) von der console aus geht es...sehr mysteriös

frank@frank-N56VZ:~
[17:16:51]$ mysql -u frank -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 29
Server version: 5.7.23-0ubuntu0.18.04.1 (Ubuntu)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             | *260D8D2FB20DB3DF6D3B5392F476B949EF529B1C | mysql_native_password | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *4E3F102BFD2910EA8E73A7E568DB7CAA8A374469 | mysql_native_password | localhost |
| phpmyadmin       | *3985A7B3CC6ADFFEF59914502E2DB1869005C6AF | mysql_native_password | localhost |
| www-write        | *C52B11D13437DC85F84CB74F23BB2C6304977DF3 | mysql_native_password | localhost |
| frank            | *260D8D2FB20DB3DF6D3B5392F476B949EF529B1C | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
7 rows in set (0.00 sec)

bei der Installation hat debconf gefragt, ob zugriff via unix-socket oder TCP passieren soll...habe default unix_socket genommen...muss das auch bei pluguin stehen?

zettberlin

Avatar von zettberlin

Anmeldungsdatum:
23. Oktober 2006

Beiträge: 623

Wohnort: Celle

Unix Socket ist richtig(Du willst ja nicht via Netzwerk auf einem dritten Rechner in das RDBMS oder?)

ansonsten..hmmm

wenn Du die mysql console erfolgreich geöffnet hast, schau doch mal, was das hier anzeigt:

1
2
3

USE mysql;
SELECT Host,User,Password FROM user;

frank-w

(Themenstarter)

Anmeldungsdatum:
30. September 2008

Beiträge: 419

Was erhoffst du zu sehen? Den passworthash?...der heist bei mariadb "authentication_string" und das alles habe ich oben schon gepostet...

habe aber was heraus gefunden: phpmyadmin scheint Authentifikation über http (ohne ssl) ohne Meldung abzublocken (auch via localhost)...macht Sinn...muss man aber drauf kommen

ich beobachte mal, obs immer funktioniert oder es wieder nur ZUfall war

zettberlin

Avatar von zettberlin

Anmeldungsdatum:
23. Oktober 2006

Beiträge: 623

Wohnort: Celle

frank-w schrieb:

Was erhoffst du zu sehen? Den passworthash?...der heist bei mariadb "authentication_string" und das alles habe ich oben schon gepostet...

Hatte das nicht bemerkt, sry....

habe aber was heraus gefunden: phpmyadmin scheint Authentifikation über http (ohne ssl) ohne Meldung abzublocken

Ich benutze das aktuellste PHPMyadmin auf mehreren Servern, die einstweilen ohne ssl über den einfachen http Zugang arbeiten. Man muss nur einen eigenen Nutzer dafür anlegen, was Du ja dann wohl doch getan hattest.

(auch via localhost)...macht Sinn...

Eigentlich nicht wirklich. SSL ist nur dann wirklich sinnvoll, wenn der Zugriff öffentlich ist.

muss man aber drauf kommen

Da hast Du verdammt Recht, die Dokumentation dieser Einschränkungen ist eine Katastrophe. Schon sinnvolle Fehlermeldungen könnten das Problem lösen, dass kommentarlos geblockt wird, ist eine Dummheit, die vermutlich aus der kruden Gedankenwelt billiger Pauschalanleitungen für Sicherheitseinstellungen kommt.

ich beobachte mal, obs immer funktioniert oder es wieder nur ZUfall war

Was einmal funktioniert, muss *immer* funktionieren, wir reden ja hier nicht von Windows 10....

Antworten |