PhpMyAdmin: Unterschied zwischen den Versionen
(23 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 9: | Zeile 9: | ||
md /srv/www/htdocs/phpMyAdmin/config | md /srv/www/htdocs/phpMyAdmin/config | ||
chown wwwrun.www /srv/www/htdocs/phpMyAdmin/config -R | chown wwwrun.www /srv/www/htdocs/phpMyAdmin/config -R | ||
− | * | + | * Setup im Browser aufrufen |
http://hs-schallerbach.at/phpMyAdmin/setup | http://hs-schallerbach.at/phpMyAdmin/setup | ||
* Serverdaten bearbeiten | * Serverdaten bearbeiten | ||
Zeile 20: | Zeile 20: | ||
== Troubleshooting == | == Troubleshooting == | ||
− | + | === Wo ist die Konfigurationsdatei === | |
+ | : openSUSE: <code>/etc/phpMyAdmin/config.inc.php </code> | ||
+ | : Debian: <code>/var/lib/config.inc.php </code> | ||
+ | === Browser Cache === | ||
Die Sitzung konnte nicht ohne Fehler gestartet werden, schauen Sie bitte in das Fehlerprokoll von PHP und/oder Ihres Webservers und konfigurieren Sie PHP entsprechend (session.save_path, Schreibrechte) | Die Sitzung konnte nicht ohne Fehler gestartet werden, schauen Sie bitte in das Fehlerprokoll von PHP und/oder Ihres Webservers und konfigurieren Sie PHP entsprechend (session.save_path, Schreibrechte) | ||
: Lösung: '''Browsercache löschen!''' | : Lösung: '''Browsercache löschen!''' | ||
− | + | === Passphrase === | |
+ | Die geheime Passphrase in der Konfiguration (blowfish_secret) ist zu kurz. | ||
+ | In der Konfigurationsdatei <tt>config.inc</tt> muss ein zufälliger String mit mindestens 32 Zeichen definiert werden. | ||
+ | # Beispiel | ||
+ | $cfg['blowfish_secret'] = 'P5DS+radU0TOqI7HX$cH!eb3zwnDDoDr'; | ||
+ | === Import - zu große Datei === | ||
+ | Einstellungen in <tt>php.ini</tt> ändern. | ||
+ | # /etc/php8/apache2/php.ini | ||
+ | upload_max_filesize = 50M | ||
+ | post_max_size = 50M | ||
== Benutzerdefinierte Einstellungen == | == Benutzerdefinierte Einstellungen == | ||
− | + | === Datenbank für Benutzereinstellungen anlegen === | |
Die Einstellungen werden in einer MySQL Datenbank mit dem Namen '''phpmyadmin''' gespeichert. Zum Anlegen der Datenbank inklusive der notwendigen Tabellen gibt es ein Script: | Die Einstellungen werden in einer MySQL Datenbank mit dem Namen '''phpmyadmin''' gespeichert. Zum Anlegen der Datenbank inklusive der notwendigen Tabellen gibt es ein Script: | ||
− | phpMyAdmin/sql/create_tables.sql | + | phpMyAdmin/sql/create_tables.sql |
+ | # openSUSE | ||
+ | /usr/share/doc/packages/phpMyAdmin/sql/create_tables.sql | ||
+ | |||
Diese Datei mit '''phpMyAdmin''' importieren oder die Datei mit einem Editor öffnen und den Code in das SQL Fenster von phpMyAdmin kopieren und die Abfrage ausführen. | Diese Datei mit '''phpMyAdmin''' importieren oder die Datei mit einem Editor öffnen und den Code in das SQL Fenster von phpMyAdmin kopieren und die Abfrage ausführen. | ||
− | + | === Konfiguration ergänzen === | |
− | |||
− | |||
: Ausschnitt aus der Liste: | : Ausschnitt aus der Liste: | ||
$cfg['Servers'][$i]['controluser'] = 'pma'; | $cfg['Servers'][$i]['controluser'] = 'pma'; | ||
Zeile 45: | Zeile 58: | ||
$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups'; | $cfg['Servers'][$i]['usergroups'] = 'pma__usergroups'; | ||
... | ... | ||
− | + | === Benutzer '''pma''' === | |
Dieser Benutzer benötigt Zugriff auf die Datenbank '''phpmyadmin.''' Dem Benutzer obiges Passwort zuteilen. | Dieser Benutzer benötigt Zugriff auf die Datenbank '''phpmyadmin.''' Dem Benutzer obiges Passwort zuteilen. | ||
− | + | === Troubles === | |
Manche Tabellen haben zwei Unterstriche im Tabellennamen (z.B.:<code>pma__users</code>. Die tatsächlichen Tabellenbezeichnungen müssen jedenfalls mit den Angaben in der Konfigurationsdatei übereinstimmen. | Manche Tabellen haben zwei Unterstriche im Tabellennamen (z.B.:<code>pma__users</code>. Die tatsächlichen Tabellenbezeichnungen müssen jedenfalls mit den Angaben in der Konfigurationsdatei übereinstimmen. | ||
− | == openSuse | + | == openSuse == |
− | + | <tt>phpMyAdmin</tt> kann über die Paketverwaltung <tt>zypper</tt> oder <tt>yast</tt> installiert werden. | |
+ | * Konfiguration | ||
/etc/phpMyAdmin/config.inc.php | /etc/phpMyAdmin/config.inc.php | ||
− | + | * Konfiguration des Apache Servers für phpMyAdmin | |
/etc/apache2/conf.d/phpMyAdmin.conf | /etc/apache2/conf.d/phpMyAdmin.conf | ||
+ | * Programmdateien | ||
+ | # ab suse Leap 15.4 | ||
+ | /usr/share/phpMyAdmin | ||
== Beziehungen == | == Beziehungen == | ||
Um die Integrität von Fremdschlüsselbeziehungen zu gewährleisten, kann man mit Hilfe von phpMyAdmin '''Beziehungen''' definieren. | Um die Integrität von Fremdschlüsselbeziehungen zu gewährleisten, kann man mit Hilfe von phpMyAdmin '''Beziehungen''' definieren. | ||
− | : Im folgenden Beispiel ist die Haupttabelle | + | : Im folgenden Beispiel ist die Haupttabelle <tt>musiktitel</tt> über den Fremdschlüssel <tt>komponist_id</tt> mit dem Primärschlüssel <tt>id</tt> der Tabelle <tt>komponisten</tt> verknüpft. |
=== Index erstellen === | === Index erstellen === | ||
− | In der Haupttabelle | + | In der Haupttabelle <tt>musiktitel</tt>, welche einen oder mehrere '''Fremdschlüssel''' enthält, muss zunächst für jeden Fremdschlüssel ein '''Index''' hinzugefügt werden. |
− | : Beispiel: Die Tabelle | + | : Beispiel: Die Tabelle <tt>musiktitel</tt> enthält das Feld <tt>komponist_Id</tt>. Es wird daher in Index über die Spalte <tt>komponist_Id</tt> hinzugefügt. |
[[Datei:Phpmyadmin 5.png|ohne]] | [[Datei:Phpmyadmin 5.png|ohne]] | ||
Der Index darf nicht die Eigenschaft UNIQUE haben. | Der Index darf nicht die Eigenschaft UNIQUE haben. | ||
Zeile 69: | Zeile 86: | ||
Das geschieht über den Link '''Beziehungsansicht''' ganz oben. | Das geschieht über den Link '''Beziehungsansicht''' ganz oben. | ||
: In dieser Ansicht findet man unten den Abschnitt '''Beschränkungen durch Fremdschlüssel'''. | : In dieser Ansicht findet man unten den Abschnitt '''Beschränkungen durch Fremdschlüssel'''. | ||
− | : Man wählt aus der Liste die Spalte mit dem Fremdschlüssel | + | : Man wählt aus der Liste die Spalte mit dem Fremdschlüssel <tt>komponist_Id</tt> und stellt die Verbindung zum '''Primärschlüssel''' in der Tabelle <tt>komponisten</tt> her. |
[[Datei:Phpmyadmin 5.png|none]] | [[Datei:Phpmyadmin 5.png|none]] | ||
− | Im Abschnitt | + | Im Abschnitt '''Interne Beziehungen''' sollte man gar nichts eintragen. |
=== Werte einer verknüpften Tabelle anzeigen === | === Werte einer verknüpften Tabelle anzeigen === | ||
− | Zusätzlich zur Anzeige eines Fremdschlüssels kann man eine aussagekräftige Anzeigespalte festlegen. Es kann dann bei jedem Datensatz der Tabelle | + | Zusätzlich zur Anzeige eines Fremdschlüssels kann man eine aussagekräftige Anzeigespalte festlegen. Es kann dann bei jedem Datensatz der Tabelle <tt>musiktitel</tt> zusätzlich zur <tt>komponist_id</tt> der Name des Instrumentes angezeigt werden. |
− | : In der Beziehungsansicht ganz unten den Feldnamen festlegen, dessen Inhalt angezeigt werden soll, z.B. | + | : In der Beziehungsansicht ganz unten den '''Feldnamen''' festlegen, dessen Inhalt angezeigt werden soll, z.B. <tt>name</tt>. |
[[Datei:Phpmyadmin 1.png]] | [[Datei:Phpmyadmin 1.png]] | ||
− | Dies gibt | + | Dies gibt nur Sinn in der Fremdschlüssel-Tabelle, also z.B. in der Tabelle <tt>komponisten</tt>. |
=== Dropdownliste anzeigen === | === Dropdownliste anzeigen === | ||
Zeile 84: | Zeile 101: | ||
=== Fremdschlüssel oder Text === | === Fremdschlüssel oder Text === | ||
− | Beim Anzeigen der Daten in Tabellenform kann man umschalten zwischen Anzeige des Schlüssels | + | Beim Anzeigen der Daten in Tabellenform kann man umschalten zwischen Anzeige des Schlüssels <tt>komponist_id</tt> oder des relationalen Wertes, z.B <tt>Name</tt> des Komponisten. |
− | In der Tabelle | + | In der Tabelle <tt>musiktitel</tt>, oberhalb der angezeigten Tabelle auf den Link '''Optionen''' und dann auf '''Relationaler Schlüssel''' oder '''Relationale Anzeigespalte''' klicken. |
[[Datei:Phpmyadmin 2.png|none]] | [[Datei:Phpmyadmin 2.png|none]] | ||
− | Dann wird statt | + | Dann wird statt <tt>komponist_id</tt> der Name des Komponisten in der Spalte angezeigt. |
[[Datei:Phpmyadmin 3.png|none]] | [[Datei:Phpmyadmin 3.png|none]] |
Aktuelle Version vom 17. November 2024, 16:49 Uhr
Installation und Konfiguration
Siehe auch folgende Anleitung
- Gegenenfalls eine vorhandene alte Version umbenennen
mv /srv/www/htdocs/phpMyAdmin /srv/www/htdocs/phpMyAdmin_old
- Download von http://garr.dl.sourceforge.net/sourceforge/phpmyadmin
- Entpacken (Beispiel):
tar xzvf ./phpMyAdmin-2.11.1-all-languages.tar.gz
- Verzeichnis für Konfigurationsdatei erzeugen:
md /srv/www/htdocs/phpMyAdmin/config chown wwwrun.www /srv/www/htdocs/phpMyAdmin/config -R
- Setup im Browser aufrufen
http://hs-schallerbach.at/phpMyAdmin/setup
- Serverdaten bearbeiten
Authentication type: cookie
- Konfigurationsdatei ins phpMyAdmin Verzeichnis verschieben
mv /srv/www/htdocs/phpMyAdmin/config/config.inc.php /srv/www/htdocs/phpMyAdmin chmod 770 /phpMyAdmin/config.inc.php
- Konfigurationsverzeichnis löschen
rm /srv/www/htdocs/phpMyAdmin/config -R
Troubleshooting
Wo ist die Konfigurationsdatei
- openSUSE:
/etc/phpMyAdmin/config.inc.php
- Debian:
/var/lib/config.inc.php
Browser Cache
Die Sitzung konnte nicht ohne Fehler gestartet werden, schauen Sie bitte in das Fehlerprokoll von PHP und/oder Ihres Webservers und konfigurieren Sie PHP entsprechend (session.save_path, Schreibrechte)
- Lösung: Browsercache löschen!
Passphrase
Die geheime Passphrase in der Konfiguration (blowfish_secret) ist zu kurz. In der Konfigurationsdatei config.inc muss ein zufälliger String mit mindestens 32 Zeichen definiert werden.
# Beispiel $cfg['blowfish_secret'] = 'P5DS+radU0TOqI7HX$cH!eb3zwnDDoDr';
Import - zu große Datei
Einstellungen in php.ini ändern.
# /etc/php8/apache2/php.ini upload_max_filesize = 50M post_max_size = 50M
Benutzerdefinierte Einstellungen
Datenbank für Benutzereinstellungen anlegen
Die Einstellungen werden in einer MySQL Datenbank mit dem Namen phpmyadmin gespeichert. Zum Anlegen der Datenbank inklusive der notwendigen Tabellen gibt es ein Script:
phpMyAdmin/sql/create_tables.sql # openSUSE /usr/share/doc/packages/phpMyAdmin/sql/create_tables.sql
Diese Datei mit phpMyAdmin importieren oder die Datei mit einem Editor öffnen und den Code in das SQL Fenster von phpMyAdmin kopieren und die Abfrage ausführen.
Konfiguration ergänzen
- Ausschnitt aus der Liste:
$cfg['Servers'][$i]['controluser'] = 'pma'; $cfg['Servers'][$i]['controlpass'] = '*************'; $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; $cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark'; $cfg['Servers'][$i]['relation'] = 'pma_relation'; ... $cfg['Servers'][$i]['users'] = 'pma__users'; $cfg['Servers'][$i]['usergroups'] = 'pma__usergroups'; ...
Benutzer pma
Dieser Benutzer benötigt Zugriff auf die Datenbank phpmyadmin. Dem Benutzer obiges Passwort zuteilen.
Troubles
Manche Tabellen haben zwei Unterstriche im Tabellennamen (z.B.:pma__users
. Die tatsächlichen Tabellenbezeichnungen müssen jedenfalls mit den Angaben in der Konfigurationsdatei übereinstimmen.
openSuse
phpMyAdmin kann über die Paketverwaltung zypper oder yast installiert werden.
- Konfiguration
/etc/phpMyAdmin/config.inc.php
- Konfiguration des Apache Servers für phpMyAdmin
/etc/apache2/conf.d/phpMyAdmin.conf
- Programmdateien
# ab suse Leap 15.4 /usr/share/phpMyAdmin
Beziehungen
Um die Integrität von Fremdschlüsselbeziehungen zu gewährleisten, kann man mit Hilfe von phpMyAdmin Beziehungen definieren.
- Im folgenden Beispiel ist die Haupttabelle musiktitel über den Fremdschlüssel komponist_id mit dem Primärschlüssel id der Tabelle komponisten verknüpft.
Index erstellen
In der Haupttabelle musiktitel, welche einen oder mehrere Fremdschlüssel enthält, muss zunächst für jeden Fremdschlüssel ein Index hinzugefügt werden.
- Beispiel: Die Tabelle musiktitel enthält das Feld komponist_Id. Es wird daher in Index über die Spalte komponist_Id hinzugefügt.
Der Index darf nicht die Eigenschaft UNIQUE haben. Der Link +Indizes befindet sich ganz unten in der Ansicht.
Fremdschlüsselbeziehung erstellen
Das geschieht über den Link Beziehungsansicht ganz oben.
- In dieser Ansicht findet man unten den Abschnitt Beschränkungen durch Fremdschlüssel.
- Man wählt aus der Liste die Spalte mit dem Fremdschlüssel komponist_Id und stellt die Verbindung zum Primärschlüssel in der Tabelle komponisten her.
Im Abschnitt Interne Beziehungen sollte man gar nichts eintragen.
Werte einer verknüpften Tabelle anzeigen
Zusätzlich zur Anzeige eines Fremdschlüssels kann man eine aussagekräftige Anzeigespalte festlegen. Es kann dann bei jedem Datensatz der Tabelle musiktitel zusätzlich zur komponist_id der Name des Instrumentes angezeigt werden.
- In der Beziehungsansicht ganz unten den Feldnamen festlegen, dessen Inhalt angezeigt werden soll, z.B. name.
Dies gibt nur Sinn in der Fremdschlüssel-Tabelle, also z.B. in der Tabelle komponisten.
Dropdownliste anzeigen
Beim Ändern eines Datensatzes braucht man nun nicht mehr den Fremdschlüssel direkt eingeben. Man kann aus einer Dropdownliste den geeigneten Wert auswählen.
Fremdschlüssel oder Text
Beim Anzeigen der Daten in Tabellenform kann man umschalten zwischen Anzeige des Schlüssels komponist_id oder des relationalen Wertes, z.B Name des Komponisten.
In der Tabelle musiktitel, oberhalb der angezeigten Tabelle auf den Link Optionen und dann auf Relationaler Schlüssel oder Relationale Anzeigespalte klicken.
Dann wird statt komponist_id der Name des Komponisten in der Spalte angezeigt.