MySQL installieren

So nun kommen wir dazu MySQL zu installieren, denn in heutigen Zeit sind Datenbanken nicht mehr wegzudenken, egal ob Web-Anwendungen, Appliance, Applikationen, usw. daher hat sich in der kostenfreien Version der MySQL Datenbankserver sehr bewährt. Es gibt natürlich mehrere Arten von Datenbanken, wie PostgreSQL, Microsoft SQL usw. Jede Datenbank hat Ihren eigenen Aufbau. Aber in dem Beitrag geht es um MySQL, was sehr oft in Web-Anwendung verwendet wird, sprich mit Apache und PHP.


Inhaltsverzeichnis

  1. MySQL einfach erklärt
  2. Installation
  3. SQL Konfigurieren
    1. ROOT User anlegen
    2. Datenbank
      1. Datenbank erstellen
      2. Datenbank ansehen
      3. Datenbank löschen
    3. Benutzer
      1. Benutzer anlegen
      2. Berechtigung zuweisen
      3. Berechtigung anzeigen
      4. Benutzer anzeigen
      5. Benutzer löschen
  4. Backup System
    1. Vorbereitung
    2. Gruppe hinzufügen
    3. Ordner erstellen und Berechtigen
    4. Backup
      1. Einzelne Datenbank
      2. Ganze Datenbank
      3. Wiederherstellen
  5. System

MySQL einfach erklärt

Eine MySQL-Datenbank ist eine Relationale Datenbank, es werden Daten pro Tabelle gespeichert und mit einem Schlüssel verbunden.


Installation

Mit diesem Befehl wird nur der MySQL installiert.

sudo apt update
sudo apt install -y mysql-server

In vielen Fällen werden aber auch das Paket von PHP benötigt, daher werden wir es ebenso installieren. Ich habe auch, für euch einen Beitrag gestaltet, wie ihr dies Komplett installieren könnt. Aber das erforderliche Paket, möchte ich euch hier nochmal zeigen.

sudo apt install -y php-mysql

Link: PHP Installieren

Somit ist der MySQL Server installiert, das ist der Augenblick, das wir nach sehen, wie der Status der Software ist.

sudo systemctl status mysql
sudo systemctl start mysql
sudo systemctl enable mysql

SQL Konfigurieren

ROOT User anlegen

Wir benötigen noch einen administrativen Zugang, um Daten zu löschen, bearbeiten usw.

sudo mysql

Es wird eine eigene Kommandozeile geöffnet und es müssen diese Befehle abgesetzt werden, Achtung die gehören noch individuell angepasst.

SELECT user,authentication_string,plugin,host FROM mysql.user;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
FLUSH PRIVILEGES;
exit

Datenbank

Wir müssen noch eine Datenbank anlegen bzw. werden wir uns die ansehen. Wir werden uns als Root User anmelden, dass wir vorher erstellt haben.

mysql -u root -p

Datenbank erstellen

CREATE DATABASE your_database;

Datenbank ansehen

SHOW DATABASES;

Datenbank löschen

DROP DATABASE your_database;

Benutzer

Benutzer anlegen

CREATE USER 'benutzer'@'localhost' IDENTIFIED BY 'passwort';

Berechtigung zuweisen

GRANT ALL PRIVILEGES ON your_database . * TO 'benutzer'@'localhost';
FLUSH PRIVILEGES;

Berechtigung anzeigen

SHOW GRANTS FOR 'benutzer'@'localhost';

Benutzer anzeigen

select * from mysql.user;

Benutzer löschen

DROP USER 'benutzer'@'localhost';
FLUSH PRIVILEGES;

Backup System

Vorbereitung

Es ist immer von Vorteil ein Backup von der Datenbank anzulegen. Zuerst werden wir im Root System ein Backup Ordner anlegen, aufgrund das jeder Benutzer darauf zu greifen kann. Wenn dies nicht gewünscht ist, soll es mit Benutzerberechtigung gesperrt werden, und mit einer speziellen Gruppe berechtigt werden. Dies möchte ich euch zeigen.

Gruppe hinzufügen

groupadd your_group
usermod -aG your_group your_user

Ordner erstellen und Berechtigen

mkdir /DB_Backup
chmod -R 770 /DB_Backup
chgrp your_group /DB_Backup

Wir haben nun die Backup-Ordner erstellt und auch berechtigt.

Backup

Einzelne Datenbank

mysql -u root -p
mysqldump -u database_username -p'your_password' your_database > '/DB_Backup/Backup-MYSQL.SQL'

Ganze Datenbank

mysql -u root -p
mysqldump --all-databases > /DB_Backup/Backup.sql

Wiederherstellen

mysql -u database_username -p'database_password' database < 'path_to_database'

System

sudo systemctl enable mysql
sudo systemctl start mysql
sudo systemctl stop mysql
sudo systemctl status mysql
sudo systemctl restart mysql
sudo systemctl disable mysql

Schreibe einen Kommentar

%d Bloggern gefällt das: