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- / MariaDB-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:
TARGET mit MySQL-Datenbank starten <hier tragen Sie "Ja" ein> MySQL Server (Name oder IP Ihres MySQL-/MariaDB-Servers) MySQL User (Ihr Username für den MySQL-/MariaDB-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)
- Wenn Sie in der SQLite-Datenbank bereits eigene User-Bauteile angelegt hatten, können Sie den Menüpunkt "Verbunden mit... / Migration von SQLite nach MySQL.." einmalig ausführen und die SQLite Datenbank "target3001.db" auswählen. Der Abgleich kann einen Moment dauern. Später können noch andere *.db Dateien hinzu importiert werden, Menüpunkt "Import / Export".
- 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.
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.

