MySQL

Beachten Sie auch den Artikel Bauteildatenbank
MySQL / MariaDB: Die schnelle Datenbank bei mehreren Arbeitsplätzen
Die mit TARGET vorinstallierte SQLite-Datenbank wird bei üblichen Netzwerk-Übertragungsraten im Mehrbenutzerbetrieb langsam. Wer in einem Netzwerk mit mehreren Arbeitsplätzen auf eine gemeinsame TARGET 3001! Bauteile-Datenbank zugreifen möchte, der benötigt die Bauteile in einer MySQL-Datenbank oder eine MariaDB. Im Einzelplatzbetrieb jedoch hat die SQLite-Datenbank unserer Erfahrung nach die Nase vorn.
MySQL / MariaDB installieren
Die Installer finden Sie hier zum Downloaden: MySQL und MariaDB
Sie können die Installation der Datenbank auf einem PC oder auf einem Server ausführen.
MySQL-Server Einrichten/Anpassen und TARGET-Datenbank einfügen
- Erstellen Sie z.B. mit phpMyAdmin oder in der Konsole eine neue leere Datenbank "target3001db" (mit Kollation utf8mb3_general_ci). Konsole: CREATE DATABASE target3001db CHARACTER SET utf8 COLLATE utf8_general_ci;
- Laden Sie diese SQL-Datei herunter und importieren Sie sie in die neue Datenbank: target3001db.sql Alle Tabellen, alle Funktionen und alle Trigger werden so automatisch angelegt.
- Tragen Sie Benutzer und Rechte für die neue Datenbak ein. Benutzernamen und Passworte dürfen jeweils maximal 16 Zeichen haben. Folgende Rechte sind erforderlich: SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, EXECUTE, CREATE ROUTINE, ALTER ROUTINE und TRIGGER ON target3001db.
- In TARGET im Bauteile-Browser im Menü "Verbunden mit..." die Einstellungen für MySQL eintragen. Diese werden auch für MariaDB verwendet.
- Wenn Sie in der SQLite-Datenbank bereits eigene Bauteile angelegt hatten, können Sie den Menüpunkt "Verbunden mit... / Migration von SQLite nach MySQL.." ausführen und die SQLite Datenbank "target3001.db" ausählen. Der Abgleich kann einen Moment dauern.
- Zur Sicherheit können Sie im Bauteile-Browser den Menüpunkt "Update" nochmal aufrufen.
Besonderheit bei Windows-Servern
Bei Windows-Servern erforderlich (mit der Konsole):
$ mysql -u root -p
oder ohne Passwort: $ mysql -u root
mysql> use mysql mysql> GRANT ALL ON *.* to root@'%' IDENTIFIED BY '<your-mysql-root-password>'; mysql> FLUSH PRIVILEGES;
Diese Einstellung können Sie auch mit phpMyAdmin oder mit der Workbench durchführen.
MySQL-Client in TARGET einrichten
Neben dem TARGET-Programm findet sich die Datei "libmsql.dll". Diese stellt den Client-Treiber für die Verbindung zum MySQL-Server dar. In TARGET selbst müssen Sie einige wenige Eintragungen machen, damit der MySQL-Server angesprochen werden kann:
Öffnen Sie ein leeres Projekt und drücken Sie die Taste [F2], um den Bauteile-Browser zu öffnen. Hier am Ende des Menüs wird oben angezeigt, dass Sie noch mit der SQLite-Datenbank verbunden sind:

(Bild 1: Bauteil-Browser, Migration)
Jetzt klicken Sie auf diesen Menüeintrag "[ verbunden mit ... ]". Im aufklappenden Menü wählen Sie den Punkt "Einstellungen". Hier setzen Sie folgende Einträge:
TARGET mit MySQL-Datenbank starten (hier tragen Sie "Ja" ein) MySQL Server (Name oder IP Ihres MySQL-Servers) MySQL User (Ihr Username für den MySQL-Server) MySQL Password (Ihr entsprechendes Passwort) MySQL SSH Key (falls SSH verwendet wird: SSH Key-File) MySQL SSH Cert (falls SSH verwendet wird: Zertifikat-File) MySQL SSH CA (falls SSH verwendet wird: Certificate-Authority-File)
Mehrere Benutzer können den selben MySQL User-Namen verwenden.
Eigene Bauteile einfügen (Migration)
Hatten Sie bereits eigene USER-Bauteile in SQLite (target3001.db) erzeugt, können diese einmalig aus einer TARGET-Version in die blanke, von IBF vorgegebene Datenbank eingelesen werden. Dabei bleiben z.B. alle Bauteile-IDs und selbst angelegte Bauteiltypen etc. in der Datenbank identisch. Wir nennen diesen Vorgang "Migration". Dazu suchen Sie von den ggf. mehreren Rechner die wichtigste SQLite-Datenbank aus. Alle weiteren Bauteile von anderen Nutzern können Sie später hinzu importieren.
Für die Migration wechseln Sie zuerst mit dem Menüpunkt "[ verbunden mit ... ]" zur MySQL-Datenbank. Dann wählen Sie in diesem Menü "Migration von SQLite nach MySQL". Geben Sie dann Ihre wichtigste SQLite-Datenbank target3001.db an, die in MySQL eingefüllt werden soll. Am einfachsten funktioniert die Migration also auf dem Rechner mit dieser wichtigsten SQLite-Datenbank.
Jetzt können alle Teilnehmer auf die MySQL-Datenbank zugreifen.
Geht auch MariaDB statt MySQL?
Hier gibt es dazu einen Tipp von einem Kunden.
Hilfe, MySQL wirft Fehlermeldungen!
Wenn TARGET sich nicht mehr mit der Datenbank verbinden kann oder sonstige Fehlermeldungen wirft, kann das an gelöschten Benutzern liegen. Diese User ggf. wieder neu in der MySQL-Datenbank anlegen.

