Inhaltsverzeichnis
MySQL-Datenbank
Installation
sudo apt install mariadb-server
sudo mysql_secure_installation
„Altes“ root-Passwort ist leer, alle Fragen mit Y beantworten und neues Passwort eintragen.
Standardverzeichnis für Datenbanken
/var/lib/mysql
SQL über Konsole
Einloggen als root
sudo mysql
oder (Passwortabfrage)
mysql -u root -p
Ausloggen
QUIT
User anzeigen
SELECT USER FROM mysql.user;
Neuen User anlegen
CREATE user '<USERNAME>'@'localhost' IDENTIFIED BY '<PASSWORD>';
User mit Rechten versehen (hier alle)
GRANT ALL PRIVILEGES ON * . * TO '<USERNAME>'@'localhost' WITH GRANT OPTION;
Berechtigungen neu laden
FLUSH PRIVILEGES;
Datenbank anlegen
CREATE DATABASE <DBNAME>;
Datenbanken anzeigen
SHOW DATABASES;
Datenbank zur Verwendung auswählen
USE DATABASE <DBNAME>;
Datenbank löschen
DROP DATABASE <DBNAME>;
Tabellen einer Datenbank anzeigen
SHOW TABLES FROM <DBNAME>;
Tabellen einer Datenbank anzeigen (Datenbank zuvor gewählt)
SHOW TABLES;
Felder einer Tabelle anzeigen (Datenbank zuvor gewählt)
SHOW FIELDS FROM <TABLE>;
Backup von Datenbank
Diese Befehle werden direkt auf der Konsole abgegeben, nicht wie o.a. in MySQL einloggen.
Datenbank in einer Datei speichern
mysqldump -u <BENUTZER> -p <DATENBANK> > <BACKUPFILE>.sql
(Zurück)Importieren:
mysql -u <BENUTZER> -p <DATENBANK> < <BACKUPFILE>.sql
Ersetzen: <BENUTZER>, <DATENBANK> und <BACKUPFILE>.
Passwort wird abgefragt.
Die Datenbank muss im MySQL-Server bereits angelegt sein und der bennante Benutzer Zugriffsrechte darauf besitzen.
Der Pfeil zwischen <DATENBANK> und <BACKUPFILE> gibt die Richtung an.
Für automatisiertes Backup siehe Backup.
PHPMyAdmin
Es ist möglich, die PHPMyAdmin von Debian zu verwenden > apt install phpmyadmin.
Alternativ (hier angewandt) die aktuelle Variante von der Internetseite von phpmyadmin.net verwenden.
Aktuelle Installationsdateien downloaden in Unterverzeichnis des Apacheservers, oder holen mit „wget“. Pfad und Dateiname siehe https://www.phpmyadmin.net/
cd /var/www/sites/phpmyadmin/
In diesem Beispiel wird eine bestehende Domain genutzt und darin das Unterverzeichnis phpmyadmin erstellt. Aufruf über den Browser mit <DOMAIN>/phpmyadmin.
Alternative: Dateien in das Hauptverzeichnis einer Subdomain legen. Aufrug mit <SUB>.<DOMAIN> (ohne Erweiterung).
Download der Installations-Dateien
sudo wget https://files.phpmyadmin.net/phpMyAdmin/5.2.1/phpMyAdmin-5.2.1-all-languages.zip
Sollte unzip nicht installiert sein:
sudo apt install unzip
sudo unzip phpMyAdmin-5.2.1-all-languages.zip
sudo mv phpMyAdmin-5.2.1-all-languages/ phpmyadmin/
sudo chown -R www-data:www-data /var/www/sites/phpmyadmin
sudo chmod -R 775 /var/www/sites/phpmyadmin
cd phpmyadmin/
sudo cp config.sample.inc.php config.inc.php
sudo nano config.inc.php
ÄNDERN IN:
$cfg['blowfish_secret'] = sodium_hex2bin('f16ce59f45714194371b48fe362072dc3b019da7861558cd4ad29e4d6fb13851');
Sicherheit: direkten root-Zugang über phpmyadmin sperren.
Möglich über phpmyadmin oder wie folgt:
sudo nano /var/www/sites/phpmyadmin/config.inc.php
Entscheidung über letzte Zeile (AllowRoot = false == gesperrt) ggf. Zeile einfügen:
/* Configure according to dbconfig-common if enabled */ if (!empty($dbname)) { /* Authentication type */ $cfg['Servers'][$i]['auth_type'] = 'cookie'; $cfg['Servers'][$i]['AllowRoot'] = false; ...