MySQL installieren - Ubuntu: Unterschied zwischen den Versionen

Aus FAQ LIFE-SESSIONS
K
K
 
(10 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 17: Zeile 16:
 
</syntaxhighlight>Link: [[PHP Installieren - Ubuntu]]
 
</syntaxhighlight>Link: [[PHP Installieren - Ubuntu]]
  
Somit ist der MySQL Server installiert, das ist der Augenblick, das wir nach sehen, wie der Status der Software ist.
+
Somit ist der MySQL Server installiert, das ist der Augenblick, das wir nach sehen, wie der Status der Software ist.<syntaxhighlight lang="console">
 +
sudo systemctl status mysql
 +
sudo systemctl start mysql
 +
sudo systemctl enable mysql
 +
</syntaxhighlight>
 +
 
 +
=== '''<span style="color:#FF0000">SQL Konfigurieren</span>''' ===
 +
----
 +
 
 +
==== '''<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">
 +
sudo mysql
 +
</syntaxhighlight>Es wird eine eigene Kommandozeile geöffnet und es müssen diese Befehle abgesetzt werden, Achtung die gehören noch individuell angepasst.<syntaxhighlight lang="mysql">
 +
SELECT user,authentication_string,plugin,host FROM mysql.user;
 +
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
 +
FLUSH PRIVILEGES;
 +
exit
 +
</syntaxhighlight>
 +
 
 +
==== '''<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">
 +
mysql -u root -p
 +
</syntaxhighlight>
 +
 
 +
===== '''<span style="color:#4682B4">Datenbank erstellen</span>''' =====
 +
<syntaxhighlight lang="mysql">
 +
CREATE DATABASE your_database;
 +
</syntaxhighlight>
 +
 
 +
===== '''<span style="color:#4682B4">Datenbank ansehen</span>''' =====
 +
<syntaxhighlight lang="mysql">
 +
SHOW DATABASES;
 +
</syntaxhighlight>
 +
[[Datei:U MySQL 1.png|zentriert|gerahmt]]
 +
 
 +
===== '''<span style="color:#4682B4">Datenbank löschen</span>''' =====
 +
<syntaxhighlight lang="mysql">
 +
DROP DATABASE your_database;
 +
</syntaxhighlight>
 +
 
 +
==== '''<span style="color:#4682B4">Benutzer</span>''' ====
 +
 
 +
===== '''<span style="color:#4682B4">Benutzer anlegen</span>''' =====
 +
<syntaxhighlight lang="mysql">
 +
CREATE USER 'benutzer'@'localhost' IDENTIFIED BY 'passwort';
 +
</syntaxhighlight>
 +
 
 +
===== '''<span style="color:#4682B4">Berechtigung zuweisen</span>''' =====
 +
<syntaxhighlight lang="mysql">
 +
GRANT ALL PRIVILEGES ON your_database . * TO 'benutzer'@'localhost';
 +
FLUSH PRIVILEGES;
 +
</syntaxhighlight>
 +
 
 +
===== '''<span style="color:#4682B4">Berechtigung anzeigen</span>''' =====
 +
<syntaxhighlight lang="mysql">
 +
SHOW GRANTS FOR 'benutzer'@'localhost';
 +
</syntaxhighlight>
 +
[[Datei:U MySQL 2.png|zentriert|gerahmt]]
 +
 
 +
===== '''<span style="color:#4682B4">Benutzer anzeigen</span>''' =====
 +
<syntaxhighlight lang="mysql">
 +
select * from mysql.user;
 +
</syntaxhighlight>
 +
[[Datei:U MySQL 3.png|zentriert|gerahmt]]
 +
 
 +
===== '''<span style="color:#4682B4">Benutzer löschen</span>''' =====
 +
<syntaxhighlight lang="mysql">
 +
DROP USER 'benutzer'@'localhost';
 +
FLUSH PRIVILEGES;
 +
</syntaxhighlight>
 +
 
 +
=== '''<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>
  
Wir benötigen noch einen administrativen Zugang, um Daten zu löschen, bearbeiten usw.<blockquote>sudo </blockquote>
+
=== '''<span style="color:#FF0000">System</span>''' ===
 +
----<syntaxhighlight lang="console">
 +
sudo systemctl enable mysql
 +
sudo systemctl start mysql
 +
sudo systemctl stop mysql
 +
sudo systemctl status mysql
 +
sudo systemctl restart mysql
 +
sudo systemctl disable mysql
 +
</syntaxhighlight>

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