MariaDB als Portable Installation unter Windows
aktualisiert: 16-09-2022
Um MariaDB — ein MySQL Clone — unter Windows 10 portable zu installieren, gehen Sie wie folgt vor:
- Unter der Webseite von MariaDB wählen Sie die entsprechende Version aus.
Stand September 2022 ist dies die Version 10.9.2.
- Wählen Sie dann das ZIP-Paket “Windows x86_64” aus und laden Sie es herunter.
Dateinamemariadb-10.9.2-winx64.zip
Sollten Sie keine portable Version installieren wollen, so können Sie auch die MSI-Datei verwenden, um MariaDB über den Windows-Installer zu installieren. - Für das weitere Vorgehen, haben wir für die Programme das Verzeichnis
C:\progs
für die Installation gewählt. - Entpacken Sie nun das ZIP-Archiv in dieses Verzeichnis. Danach benennen Sie das Verzeichnis von
mariadb-10.9.2-winx64
nachmariadb
um. - Es hat sich als sinnvoll erwiesen, MariaDB per Skript zu starten (Dateiname
mysql_start.bat
):@echo off %~d0 cd %~dp0mariadb echo MySQL is starting set DIR=%~dp0mariadb set DATA=%DIR%\data set PATH=%DIR%\bin;%PATH% if not exist %DATA% ( echo Creating the database mysql_install_db echo --------------------------- ) start %~dp0mysql_cli.bat bin\mysqld --standalone --console rem pause
Was macht das Skript?
- Mit
@echo off
wird die Ausgabe der Befehle ausgeschaltet. - Das Kürzel
%~d0
steht für das aktuelle Laufwerk, in dem das Skript gestartet worden ist, hier also Laufwerkc:
Mit%~dp0
wird das aktuelle Laufwerk mit Pfad verwendet, hier alsoc:\progs
- Im nächsten Schritt wird eine Variable
DIR
definiert, die festlegt, in welchem Verzeichnis sich MariaDB befindet. Haben Sie die Dateien in ein anderes Verzeichnis kopiert, so muss das Verzeichnis hier entsprechend angepasst werden. - Mit der Variablen
DATA
wird festgelegt, wo MariaDB die Datenbanken speichert. - Anschließend wird der Suchpath
PATH
festgelegt, so dass beim Aufruf auch die Programme im entsprechenden Verzeichnis gefunden werden. - Da beim Entpacken der ZIP-Datei kein
data
-Verzeichnis angelegt wird, wird nun überprüft, ob ein solches vorhanden ist. Wenn nicht, wird mit dem Befehlmysql_install_db
die Datenbank angelegt. Dies muss nur beim ersten Aufruf erfolgen. Ist das Verzeichnisdata
vorhanden, so ist dies nicht notwendig. - Damit zusätzlich auch eine Eingabeaufforderung gestartet wird, damit man direkt mit dem Client arbeiten kann, wird das Skript
mysql_cli.bat
in einem eigenen Eingabefenster gestartet. - Nun wird der eigentliche Server gestartet. Die Datei hat bei MariaDB und MySQL den selben Namen.
- Der Befehl
pause
ist auskommentiert. Diese sollte geändert werden, wenn der Server nicht korrekt startet, so dass man die Fehlermeldungen betrachten kann.
- Mit
mysql_cli.bat
@echo off %~d0 cd \ set PATH=%~dp0mariadb\bin;%PATH% cmd
mysql_stop.bat
@echo off %~d0 cd %~dp0mariadb echo Mysql shutdowm ... %~dp0mariadb\bin\mysqladmin.exe -u root shutdown
- Kopieren Sie nun die drei Skripte in das Verzeichnis
c:\progs
Download der Skripte als ZIP-Datei - Starten Sie nun den Server, indem Sie das Skript
mysql_start.bat
aufrufen. Startet der Server nicht korrekt, so aktivieren Sie den Befehlpause
, wie oben beschrieben und suchen entsprechende Fehlermeldungen.
Je nachdem, wie ihre Windows-Firewall eingestellt ist, kann es sein, dass diese eine Freigabe verlangt, da MariaDB den Port 3306 verwenden will. Ihr IT-Lehrer informiert sie genauer über die Funktionsweise der Firewall und deren Konfiguration.Die Ausgabe in der Eingabeaufforderung sieht in etwa so aus:
- Rufen Sie nun in der Eingabeaufforderung (gestartet mit
mysql_cli.bat
) den Client auf und lassen Sie sich mit dem Befehlshow databases;
alle Datenbanken anzeigen.U:\>mysql -u root Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 3 Server version: 10.9.2-MariaDB mariadb.org binary distribution Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.001 sec)
- Wichtig!
Beenden sie immer die Datenbank sauber (mit Aufruf vonmysql_stop.bat
) und führen Sie einen shutdown durch, da es sonst zu einem Datenverlust kommen kann!
Zeichenkodierung festlegen
Damit server- und clientseitig jeweils UTF‑8 als Encoding verwendet wird, muss die Konfigurationsdatei my.ini
(im data
Verzeichnis) erweitert werden.
[mysqld] datadir=U:/progs/mariadb/data default_storage_engine=innodb character-set-server=utf8 [client] plugin-dir=U:\progs\mariadb/lib/plugin default-character-set=utf8
Status überprüfen
MariaDB [(none)]> status -------------- mysql Ver 15.1 Distrib 10.9.2-MariaDB, for Win64 (AMD64) Connection id: 3 Current database: Current user: root@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server: MariaDB Server version: 10.9.2-MariaDB mariadb.org binary distribution Protocol version: 10 Connection: localhost via TCP/IP Server characterset: utf8mb3 Db characterset: utf8mb3 Client characterset: utf8mb3 Conn. characterset: utf8mb3 TCP port: 3306 Uptime: 9 sec Threads: 1 Questions: 4 Slow queries: 0 Opens: 17 Open tables: 10 Queries per second avg: 0.444 --------------
Passend dazu: Unterrichtseinheit Datenbank
Kopfbild: pixabay ervine95