Ah. Als erstes:
Prüfe bitte unbedingt, ob Du tatsächlich MySQL verwendest, oder vielleicht doch die weitgehend kompatible MariaDB (das ist der Open Source Fork von MySQL, welcher inzwischen meist verwendet wird).
Unter openHAB3.4 kannst Du die Datenbankverbindung direkt über die UI konfigurieren
Main UI->Administration->Einstellungen->Other Services (rechte Spalte unten)->JDBC Persistence Service
Natürlich steht der Weg über die Konfigurationsdatei weiterhin zur Verfügung, ich bin mir gerade nicht sicher, ob openHAB hier tatsächlich in die cfg-Datei schreibt, oder wie im Rest der Textkonfiguration den Inhalt der Datei nach userdata/config/org/openhab/ kopiert. Dann könntest Du Bei Konfiguration über die
jdbc.cfg über die UI keine dauerhaften Änderungen mehr vornehmen (nach einem Neustart sind Änderungen über die UI wieder verschwunden).
Wichtig wäre erst mal, dass Du für die neue Datenbank in MySQL einen eigenen User anlegst, üblicherweise openhab und ein Passwort Deiner Wahl.
Dieser User bekommt exakt die erweiterten Rechte für die Datenbank openhab_db (erweitert bedeutet, der User darf bis auf das Erteilen weiterer Berechtigungen alles, wobei man das sicher auch noch zusätzlich einschränken könnte, letztlich sind die Rechte aber exklusiv auf der einen Datenbank.
Da beim Anlegen des Users immer auch angegeben wird, von wo der User sich einloggen darf, kannst Du dort die IP Deines openHAB Systems hinterlegen.
Falls openHAB auf dem gleichen Rechner läuft, bitte dennoch die echte IP eintragen, nicht localhost oder 127.0.0.1.
Tabellenname neu aufbauen müsstest Du unbedingt
deaktivieren, diese Funktion ist nur für die Umstellung der Tabellen. Es gibt zwei Varianten:
1. openHAB schaut in der Tabelle "Items" nach, welche Tabelle zum Item
xy gehört, bekommt die Information, z.B. die Tabelle heißt
Item1234, holt die Informationen aus Tabelle
Item1234 (oder schreibt dorthin). Ist noch keine Tabelle vorhanden, erzeugt openHAB die Tabelle mit der niedrigsten Zahl, die höher als die höchste bereits vorhandene Zahl ist (sprich, wenn Du zwischendrin Tabellen löschst und auch den Eintrag in der Items Tabelle entfernst, wird openHAB diese Tabelle dennoch nicht mehr anlegen)
2. openHAB schreibt direkt die Tabellen mit dem Tabellennamen, der dem Itemnamen entspricht.
Die erste Form ist "sicher", die zweite Form kann Probleme bereiten, wenn die Itemnamen allzu exotisch sind. openHAB unterscheidet z.B. zwischen MeinItem und meinItem, bei MySQL bin ich mir nicht sicher, ob der Tabellenname tatsächlich Case Sensitive ist (Wobei es ja auch dafür einen Schalter gibt...). Auch die Länge des Tabellennamens ist vermutlich nicht beliebig, im Gegensatz zu Itemnamen. Da muss man halt genau hinschauen.
Tabellenname neu Aufbauen dient dazu, die Namen automatisiert von der einen Form in die andere Form umzustellen. Ursprünglich gab es nur die indirekte Adressierung, also über die Tabelle "Items", welche die Verknüpfung zwischen Itemnamen und Tabellennamen herstellt.
Welche der beiden Formen verwendet wird, bestimmt der Schalter
Tabellenname für Real-Name Generierung
Die Konfiguration ist im Übrigen für alle Plattformen identisch, soweit es um die openHAB-Seite geht. MySQL gibt es auch als Programmpaket für Windows, das wäre dann eine andere Geschichte
Noch zu beachten: MySQL ist gewöhnlich so konfiguriert, dass es nur über einen Socket kommuniziert. Somit ist MySQL dann nicht über das Netzwerk erreichbar (obwohl ein Port angegeben ist). Du musst also zunächst sicherstellen, dass MySQL überhaupt auf Port 3306 lauscht.
Ich nutze für den Administrations-Zugriff HeidiSQL, wobei man auch dafür zunächst einen User erstellen muss, der überhaupt über Netzwerk alles darf
