====== 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 ''@'localhost' IDENTIFIED BY ''; User mit Rechten versehen (hier alle) GRANT ALL PRIVILEGES ON * . * TO ''@'localhost' WITH GRANT OPTION; Berechtigungen neu laden FLUSH PRIVILEGES; Datenbank anlegen CREATE DATABASE ; Datenbanken anzeigen SHOW DATABASES; Datenbank zur Verwendung auswählen USE DATABASE ; Datenbank löschen DROP DATABASE ; Tabellen einer Datenbank anzeigen SHOW TABLES FROM ; Tabellen einer Datenbank anzeigen (Datenbank zuvor gewählt) SHOW TABLES; Felder einer Tabelle anzeigen (Datenbank zuvor gewählt) SHOW FIELDS FROM ; ==== 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 -p > .sql (Zurück)Importieren: mysql -u -p < .sql Ersetzen: , und . \\ Passwort wird abgefragt. \\ Die Datenbank muss im MySQL-Server bereits angelegt sein und der bennante Benutzer Zugriffsrechte darauf besitzen. \\ Der Pfeil zwischen und gibt die Richtung an. \\ Für automatisiertes Backup siehe [[open:it:backup#Datenbanken sichern|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 /phpmyadmin. \\ Alternative: Dateien in das Hauptverzeichnis einer Subdomain legen. Aufrug mit . (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; ...