MySQL installieren - Ubuntu: Unterschied zwischen den Versionen

Aus FAQ LIFE-SESSIONS
K
K
 
(7 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
[[Kategorie:Inhalt]]
 
[[Kategorie:Inhalt]]
 
[[Kategorie:Linux Server]]
 
[[Kategorie:Linux Server]]
 +
__INHALTSVERZEICHNIS_ERZWINGEN__
 
__INDEXIEREN__
 
__INDEXIEREN__
 
 
 
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.
 
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.
  
=== '''MySQL einfach erklärt''' ===
+
=== '''<span style="color:#FF0000">MySQL einfach erklärt</span>''' ===
 
----Eine MySQL-Datenbank ist eine Relationale Datenbank, es werden Daten pro Tabelle gespeichert und mit einem Schlüssel verbunden.
 
----Eine MySQL-Datenbank ist eine Relationale Datenbank, es werden Daten pro Tabelle gespeichert und mit einem Schlüssel verbunden.
  
=== '''Installation''' ===
+
=== '''<span style="color:#FF0000">Installation</span>''' ===
 
----Mit diesem Befehl wird nur der MySQL installiert.<syntaxhighlight lang="console">
 
----Mit diesem Befehl wird nur der MySQL installiert.<syntaxhighlight lang="console">
 
sudo apt update
 
sudo apt update
Zeile 23: Zeile 22:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
=== '''SQL Konfigurieren''' ===
+
=== '''<span style="color:#FF0000">SQL Konfigurieren</span>''' ===
 
----
 
----
  
==== '''ROOT User anlegen''' ====
+
==== '''<span style="color:#4682B4">ROOT User anlegen</span>''' ====
 
 
 
 
 
Wir benötigen noch einen administrativen Zugang, um Daten zu löschen, bearbeiten usw.<syntaxhighlight lang="console">
 
Wir benötigen noch einen administrativen Zugang, um Daten zu löschen, bearbeiten usw.<syntaxhighlight lang="console">
 
sudo mysql
 
sudo mysql
Zeile 38: Zeile 35:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
==== '''Datenbank''' ====
+
==== '''<span style="color:#4682B4">Datenbank</span>''' ====
 
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.<syntaxhighlight lang="console">
 
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.<syntaxhighlight lang="console">
 
mysql -u root -p
 
mysql -u root -p
 
</syntaxhighlight>
 
</syntaxhighlight>
  
===== '''Datenbank erstellen''' =====
+
===== '''<span style="color:#4682B4">Datenbank erstellen</span>''' =====
 
<syntaxhighlight lang="mysql">
 
<syntaxhighlight lang="mysql">
 
CREATE DATABASE your_database;
 
CREATE DATABASE your_database;
 
</syntaxhighlight>
 
</syntaxhighlight>
  
===== '''Datenbank ansehen''' =====
+
===== '''<span style="color:#4682B4">Datenbank ansehen</span>''' =====
 
<syntaxhighlight lang="mysql">
 
<syntaxhighlight lang="mysql">
 
SHOW DATABASES;
 
SHOW DATABASES;
Zeile 54: Zeile 51:
 
[[Datei:U MySQL 1.png|zentriert|gerahmt]]
 
[[Datei:U MySQL 1.png|zentriert|gerahmt]]
  
===== '''Datenbank löschen''' =====
+
===== '''<span style="color:#4682B4">Datenbank löschen</span>''' =====
 
<syntaxhighlight lang="mysql">
 
<syntaxhighlight lang="mysql">
 
DROP DATABASE your_database;
 
DROP DATABASE your_database;
 
</syntaxhighlight>
 
</syntaxhighlight>
  
==== '''Benutzer''' ====
+
==== '''<span style="color:#4682B4">Benutzer</span>''' ====
Benutzer anlegen<syntaxhighlight lang="mysql">
+
 
 +
===== '''<span style="color:#4682B4">Benutzer anlegen</span>''' =====
 +
<syntaxhighlight lang="mysql">
 
CREATE USER 'benutzer'@'localhost' IDENTIFIED BY 'passwort';
 
CREATE USER 'benutzer'@'localhost' IDENTIFIED BY 'passwort';
</syntaxhighlight>Berechtigung zuweisen<syntaxhighlight lang="mysql">
+
</syntaxhighlight>
 +
 
 +
===== '''<span style="color:#4682B4">Berechtigung zuweisen</span>''' =====
 +
<syntaxhighlight lang="mysql">
 
GRANT ALL PRIVILEGES ON your_database . * TO 'benutzer'@'localhost';
 
GRANT ALL PRIVILEGES ON your_database . * TO 'benutzer'@'localhost';
 
FLUSH PRIVILEGES;
 
FLUSH PRIVILEGES;
</syntaxhighlight>Berechtigung anzeigen<syntaxhighlight lang="mysql">
+
</syntaxhighlight>
 +
 
 +
===== '''<span style="color:#4682B4">Berechtigung anzeigen</span>''' =====
 +
<syntaxhighlight lang="mysql">
 
SHOW GRANTS FOR 'benutzer'@'localhost';
 
SHOW GRANTS FOR 'benutzer'@'localhost';
</syntaxhighlight>Benutzer anzeigen<syntaxhighlight lang="mysql">
+
</syntaxhighlight>
 +
[[Datei:U MySQL 2.png|zentriert|gerahmt]]
 +
 
 +
===== '''<span style="color:#4682B4">Benutzer anzeigen</span>''' =====
 +
<syntaxhighlight lang="mysql">
 
select * from mysql.user;
 
select * from mysql.user;
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
[[Datei:U MySQL 3.png|zentriert|gerahmt]]
  
 
+
===== '''<span style="color:#4682B4">Benutzer löschen</span>''' =====
Benutzer löschen<syntaxhighlight lang="mysql">
+
<syntaxhighlight lang="mysql">
 
DROP USER 'benutzer'@'localhost';
 
DROP USER 'benutzer'@'localhost';
 
FLUSH PRIVILEGES;
 
FLUSH PRIVILEGES;
 
</syntaxhighlight>
 
</syntaxhighlight>
  
=== '''System''' ===
+
=== '''<span style="color:#FF0000">Backup System</span>''' ===
 +
----
 +
 
 +
==== '''<span style="color:#4682B4">Vorbereitung</span>''' ====
 +
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.
 +
 
 +
===== '''<span style="color:#4682B4">Gruppe hinzufügen</span>''' =====
 +
<syntaxhighlight lang="console">
 +
groupadd your_group
 +
usermod -aG your_group your_user
 +
</syntaxhighlight>
 +
 
 +
===== '''<span style="color:#4682B4">Ordner erstellen und Berechtigen</span>''' =====
 +
<syntaxhighlight lang="console">
 +
mkdir /DB_Backup
 +
chmod -R 770 /DB_Backup
 +
chgrp your_group /DB_Backup
 +
</syntaxhighlight>Wir haben nun die Backup-Ordner erstellt und auch berechtigt.
 +
 
 +
==== '''<span style="color:#4682B4">Backup</span>''' ====
 +
 
 +
===== '''<span style="color:#4682B4">Einzelne Datenbank</span>''' =====
 +
<syntaxhighlight lang="console">
 +
mysql -u root -p
 +
mysqldump -u database_username -p'your_password' your_database > '/DB_Backup/Backup-MYSQL.SQL'
 +
</syntaxhighlight>
 +
 
 +
===== '''<span style="color:#4682B4">Ganze Datenbank</span>''' =====
 +
<syntaxhighlight lang="console">
 +
mysql -u root -p
 +
mysqldump --all-databases > /DB_Backup/Backup.sql
 +
</syntaxhighlight>
 +
 
 +
==== '''<span style="color:#4682B4">Wiederherstellen</span>''' ====
 +
<syntaxhighlight lang="console">
 +
mysql -u database_username -p'database_password' database < 'path_to_database'
 +
</syntaxhighlight>
 +
 
 +
=== '''<span style="color:#FF0000">System</span>''' ===
 
----<syntaxhighlight lang="console">
 
----<syntaxhighlight lang="console">
 
sudo systemctl enable mysql
 
sudo systemctl enable mysql

Aktuelle Version vom 6. November 2020, 07:49 Uhr


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.

MySQL einfach erklärt[Bearbeiten | Quelltext bearbeiten]


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

Installation[Bearbeiten | Quelltext bearbeiten]


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 - Ubuntu 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[Bearbeiten | Quelltext bearbeiten]


ROOT User anlegen[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]
CREATE DATABASE your_database;
Datenbank ansehen[Bearbeiten | Quelltext bearbeiten]
SHOW DATABASES;
U MySQL 1.png
Datenbank löschen[Bearbeiten | Quelltext bearbeiten]
DROP DATABASE your_database;

Benutzer[Bearbeiten | Quelltext bearbeiten]

Benutzer anlegen[Bearbeiten | Quelltext bearbeiten]
CREATE USER 'benutzer'@'localhost' IDENTIFIED BY 'passwort';
Berechtigung zuweisen[Bearbeiten | Quelltext bearbeiten]
GRANT ALL PRIVILEGES ON your_database . * TO 'benutzer'@'localhost';
FLUSH PRIVILEGES;
Berechtigung anzeigen[Bearbeiten | Quelltext bearbeiten]
SHOW GRANTS FOR 'benutzer'@'localhost';
U MySQL 2.png
Benutzer anzeigen[Bearbeiten | Quelltext bearbeiten]
select * from mysql.user;
U MySQL 3.png
Benutzer löschen[Bearbeiten | Quelltext bearbeiten]
DROP USER 'benutzer'@'localhost';
FLUSH PRIVILEGES;

Backup System[Bearbeiten | Quelltext bearbeiten]


Vorbereitung[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]
groupadd your_group
usermod -aG your_group your_user
Ordner erstellen und Berechtigen[Bearbeiten | Quelltext bearbeiten]
mkdir /DB_Backup
chmod -R 770 /DB_Backup
chgrp your_group /DB_Backup

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

Backup[Bearbeiten | Quelltext bearbeiten]

Einzelne Datenbank[Bearbeiten | Quelltext bearbeiten]
mysql -u root -p
mysqldump -u database_username -p'your_password' your_database > '/DB_Backup/Backup-MYSQL.SQL'
Ganze Datenbank[Bearbeiten | Quelltext bearbeiten]
mysql -u root -p
mysqldump --all-databases > /DB_Backup/Backup.sql

Wiederherstellen[Bearbeiten | Quelltext bearbeiten]

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

System[Bearbeiten | Quelltext bearbeiten]


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