MySQL installieren - Ubuntu: Unterschied zwischen den Versionen

Aus FAQ LIFE-SESSIONS
K
Zeile 2: Zeile 2:
 
[[Kategorie:Linux Server]]
 
[[Kategorie:Linux Server]]
 
__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 21:
 
</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 34:
 
</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 50:
 
[[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''' =====
+
===== '''<span style="color:#4682B4">Benutzer anlegen</span>''' =====
 
<syntaxhighlight lang="mysql">
 
<syntaxhighlight lang="mysql">
 
CREATE USER 'benutzer'@'localhost' IDENTIFIED BY 'passwort';
 
CREATE USER 'benutzer'@'localhost' IDENTIFIED BY 'passwort';
 
</syntaxhighlight>
 
</syntaxhighlight>
  
===== '''Berechtigung zuweisen''' =====
+
===== '''<span style="color:#4682B4">Berechtigung zuweisen</span>''' =====
 
<syntaxhighlight lang="mysql">
 
<syntaxhighlight lang="mysql">
 
GRANT ALL PRIVILEGES ON your_database . * TO 'benutzer'@'localhost';
 
GRANT ALL PRIVILEGES ON your_database . * TO 'benutzer'@'localhost';
Zeile 72: Zeile 68:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
===== '''Berechtigung anzeigen''' =====
+
===== '''<span style="color:#4682B4">Berechtigung anzeigen</span>''' =====
 
<syntaxhighlight lang="mysql">
 
<syntaxhighlight lang="mysql">
 
SHOW GRANTS FOR 'benutzer'@'localhost';
 
SHOW GRANTS FOR 'benutzer'@'localhost';
Zeile 78: Zeile 74:
 
[[Datei:U MySQL 2.png|zentriert|gerahmt]]
 
[[Datei:U MySQL 2.png|zentriert|gerahmt]]
  
===== '''Benutzer anzeigen''' =====
+
===== '''<span style="color:#4682B4">Benutzer anzeigen</span>''' =====
 
<syntaxhighlight lang="mysql">
 
<syntaxhighlight lang="mysql">
 
select * from mysql.user;
 
select * from mysql.user;
Zeile 84: Zeile 80:
 
[[Datei:U MySQL 3.png|zentriert|gerahmt]]
 
[[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';
Zeile 92: Zeile 86:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
=== '''Backup System''' ===
+
=== '''<span style="color:#FF0000">Backup System</span>''' ===
 
----
 
----
  
==== '''Vorbereitung''' ====
+
==== '''<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.
 
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''' =====
+
===== '''<span style="color:#4682B4">Gruppe hinzufügen</span>''' =====
 
<syntaxhighlight lang="console">
 
<syntaxhighlight lang="console">
 
groupadd your_group
 
groupadd your_group
Zeile 104: Zeile 98:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
===== '''Ordner erstellen und Berechtigen''' =====
+
===== '''<span style="color:#4682B4">Ordner erstellen und Berechtigen</span>''' =====
 
<syntaxhighlight lang="console">
 
<syntaxhighlight lang="console">
 
mkdir /DB_Backup
 
mkdir /DB_Backup
Zeile 111: Zeile 105:
 
</syntaxhighlight>Wir haben nun die Backup-Ordner erstellt und auch berechtigt.
 
</syntaxhighlight>Wir haben nun die Backup-Ordner erstellt und auch berechtigt.
  
==== '''Backup''' ====
+
==== '''<span style="color:#4682B4">Backup</span>''' ====
  
===== '''Einzelne Datenbank''' =====
+
===== '''<span style="color:#4682B4">Einzelne Datenbank</span>''' =====
 
<syntaxhighlight lang="console">
 
<syntaxhighlight lang="console">
 
mysql -u root -p
 
mysql -u root -p
Zeile 119: Zeile 113:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
===== '''Ganze Datenbank''' =====
+
===== '''<span style="color:#4682B4">Ganze Datenbank</span>''' =====
 
<syntaxhighlight lang="console">
 
<syntaxhighlight lang="console">
 
mysql -u root -p
 
mysql -u root -p
Zeile 125: Zeile 119:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
==== '''Wiederherstellen''' ====
+
==== '''<span style="color:#4682B4">Wiederherstellen</span>''' ====
 
<syntaxhighlight lang="console">
 
<syntaxhighlight lang="console">
 
mysql -u database_username -p'database_password' database < 'path_to_database'
 
mysql -u database_username -p'database_password' database < 'path_to_database'
 
</syntaxhighlight>
 
</syntaxhighlight>
  
=== '''System''' ===
+
=== '''<span style="color:#FF0000">System</span>''' ===
 
----<syntaxhighlight lang="console">
 
----<syntaxhighlight lang="console">
 
sudo systemctl enable mysql
 
sudo systemctl enable mysql

Version vom 6. November 2020, 05:59 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