Benutzer-Werkzeuge

Webseiten-Werkzeuge


open:it:mysql

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;
  ...
open/it/mysql.txt · Zuletzt geändert: 2024/08/15 17:56 von Kai