Mysql2sqlite "unable to open database file"

Ich stelle die Frage nochmal hier direkt:
Ich habe nach dem Video von SImon die Remigrierung von MariaDB zu SQLite probiert.
Meine MariaDB läuft auf einer Sysnology NAS problemlos seit einem Jahr.
Jetzt bin ich soweit, dass ich via SSH den Befehl zum transferieren geben kann:

mysql2sqlite -f /config/home-assistant_v2.db -h 192.168.xxx.xxx -d HomeAssistant -u HomeAssistant -p -V --use-buffered-cursors

er fragt auch dem dem PW, aber dann kommt immer die Meldung:

mysql2sqlite version 2.3.0 Copyright (c) 2019-2024 Klemen Tusar
unable to open database file

ich hab mal rumgespielt, selbst egal, bei welchem database Name, den es auch gar nicht gibt, fragt er das PW ab, und meldet dann den Fehler.
Also findet er irgendwie die Datenbank nicht? Was mache ich hier falsch?
Muss ich MariaDB auf dem NAS stoppen, oder muss es laufen?

Hoffe, jemand kann mir den entscheidenden Tipp geben.

Moin,

ich habe mir das Video nur im Schnelldurchlauf angeschaut, daher wäre es Gut, wenn Du mal Deine Schritte benennst, die Du gemacht hast.

  1. das Python env in HA angelegt?
  2. dich von außerhalb auf HA per ssh eingeloggt?
  3. du hast dann auch
    # ha core stop
    
  4. es gibt im config Verzeichnis aktuell keine Dateien,
    home-assistant_v2.db
    home-assistant_v2.db-shm
    home-assistant_v2.db-wal
    
  5. Du kannst aus der ssh Session, Dein NAS anpingen
  6. du bist auch mit dem korrekten User per ssh in HA angemeldet?
    # id
    

Der Datenbankmanager MariaDB muss laufen, ansonsten kannst Du Dich ja nicht am Datenbankmanager anmelden :wink:

Wirklich diese Schreibweise?

Die Fehlermeldung interpretiere ich eher, dass er das File /config/home-assistant_v2.db nicht anlegen kann und weniger, dass er die MariaDB nicht erreicht.

VG
Bernd

P.S.: ich habe mir mal ein Python env, auf meinem Office PC erstellt und mysql2sqlite auf eine beliebige Datenbank die ich in MariaDB habe ausgeführt, bei mir klappt das, somit kann ich nur vermuten Du hast irgendeinen Schritt übersprungen, oder einen falschen User

Hi Bernd

ich habe alle Schritte so gemacht, python angelegt, aktiviert, alte …db files in der config gelöscht ( aus dem file editor heraus), da habe ich aber auch nur eine …_v2.db gefunden. die anderen zwei Varianten waren nicht da.
core gestoppt, ping an die NAS geht auch, schreibweise korrekt.

OK, wenn du sagt er kommt an die andere database nicht ran. Aber was kann ich da machen, er soll sie ja eigentlich anlegen…

Das habe ich nicht gesagt, ich bin nur der Meinung, dass der User, mit dem du dich an HA per ssh angemeldet hast, vielleicht nicht die Rechte hat, um die SQLite Datenbank anzulegen.

Wie sieht denn dein Connection String in der configuration.yaml aus?
Läuft bei dir phpAdmin kannst du nachschauen welche Rechte der User, den du zum Connection an die MariaDB nimmst, hat.
Siehst du in den Logs der MariaDB, etwas, dass auf ein Problem hindeutet?

VG
Bernd

Ich hatte das gleiche Problem mit HA-OS auf einem Pi5. Die Lösung bei mir war “sudo mysql2sqlite …”. Mein “normaler” Account hatte schlicht keine Rechte. Eventuell hilft das ja dem einen oder anderen weiter.

1 „Gefällt mir“

Top, 1738 mal Danke für diesen Tipp, so hat es bei mir nun auch funktioniert!