Exception beim Laden der Datenbank auf externem MariaDB-Server
-
Hallo,
Ich habe gerade Mediathekview für Kodi aus dem Stable Repository installiert. Kodi läuft unter Libreelec (11.0.6) auf einem Raspi4. Ich habe auf einem separaten Server (Debian bookworm) eine Datenbank mit dem Namen mediathek_db eingerichtet:MariaDB [(none)]> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mediathek_db | | mysql | | performance_schema | | sys | | zm | +--------------------+ 6 rows in set (0,000 sec) MariaDB [(none)]> select host, user, password from mysql.user; +---------------+-------------+-------------------------------------------+ | Host | User | Password | +---------------+-------------+-------------------------------------------+ | localhost | mariadb.sys | | | localhost | root | *B7CAEFEF402607CFCFA4C0C2B145F53523D3CAE7 | | localhost | mysql | invalid | | localhost | zmuser | *C1D2D6FC5C596AFB19FAC4321D16DAA287749A3E | | 192.168.188.% | mediathek | *CD8AB71E89B0B7A60AA7AA443C8C5CE6D73AE88C | +---------------+-------------+-------------------------------------------+ 5 rows in set (0,001 sec)
Der Datenbankbenutzer wurde mit folgendem Kommando erstellt:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'mediathek'@'192.168.188.%' IDENTIFIED BY 'mediathek99' WITH GRANT OPTION;
Der Fernzugriff aus meinem Netzwerk funktioniert, soweit ich es bisher feststellen konnte:
bernbacher@TRILLIAN:/HOME/bernbacher$ mariadb -u mediathek -p --host=hydra mediathek_db Enter password: Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 574 Server version: 10.11.6-MariaDB-0+deb12u1 Debian 12 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
Die Einstellungen in Mediathekview sind:
Wenn Mediathekview versucht, die Datenbank zu erstellen, gibt es folgenden Fehler:
2024-06-26 15:26:57.610 T:18685 info <general>: [plugin.video.mediathekview-1.1.3:MediathekViewPlugin]: Plugin invoked with parameters {} 2024-06-26 15:26:57.611 T:18685 info <general>: [plugin.video.mediathekview-1.1.3:MediathekViewPlugin]: request processed: 0.0012526512145996094 sec 2024-06-26 15:26:59.109 T:18688 info <general>: [plugin.video.mediathekview-1.1.3:MediathekViewPlugin]: Plugin invoked with parameters {'mode': ['channels']} 2024-06-26 15:26:59.127 T:18688 error <general>: [plugin.video.mediathekview-1.1.3:StoreMySQL]: Database error: 1146 (42S02): Table 'mediathek_db.film' doesn't exist 2024-06-26 15:26:59.134 T:18688 error <general>: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<-- - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS! Error Type: <class 'mysql.connector.errors.ProgrammingError'> Error Contents: 1146 (42S02): Table 'mediathek_db.film' doesn't exist Traceback (most recent call last): File "/storage/.kodi/addons/plugin.video.mediathekview/addon.py", line 26, in <module> PLUGIN.run() File "/storage/.kodi/addons/plugin.video.mediathekview/resources/lib/plugin.py", line 185, in run ui.generate(self.database.getChannels()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/storage/.kodi/addons/plugin.video.mediathekview/resources/lib/storeQuery.py", line 295, in getChannels rs = self.execute(sql) ^^^^^^^^^^^^^^^^^ File "/storage/.kodi/addons/plugin.video.mediathekview/resources/lib/storeMySql.py", line 78, in execute return super(StoreMySQL, self).execute(aStmt, aParams) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/storage/.kodi/addons/plugin.video.mediathekview/resources/lib/storeQuery.py", line 68, in execute cursor.execute(aStmt) File "/storage/.kodi/addons/script.module.myconnpy/lib/mysql/connector/cursor.py", line 615, in execute self._handle_result(self._connection.cmd_query(stmt)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/storage/.kodi/addons/script.module.myconnpy/lib/mysql/connector/connection.py", line 1046, in cmd_query result = self._handle_result(self._send_cmd(ServerCmd.QUERY, query)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/storage/.kodi/addons/script.module.myconnpy/lib/mysql/connector/connection.py", line 824, in _handle_result raise get_exception(packet) mysql.connector.errors.ProgrammingError: 1146 (42S02): Table 'mediathek_db.film' doesn't exist -->End of Python script error report<-- 2024-06-26 15:26:59.252 T:18687 error <general>: GetDirectory - Error getting plugin://plugin.video.mediathekview/?mode=channels 2024-06-26 15:26:59.270 T:1395 error <general>: CGUIMediaWindow::GetDirectory(plugin://plugin.video.mediathekview/?mode=channels) failed 2024-06-26 15:26:59.654 T:18691 info <general>: [plugin.video.mediathekview-1.1.3:MediathekViewPlugin]: Plugin invoked with parameters {} 2024-06-26 15:26:59.656 T:18691 info <general>: [plugin.video.mediathekview-1.1.3:MediathekViewPlugin]: request processed: 0.0016851425170898438 sec 2024-06-26 15:27:14.979 T:18693 info <general>: [plugin.video.mediathekview-1.1.3:MediathekViewPlugin]: Plugin invoked with parameters {'mode': ['action-dbinfo']} 2024-06-26 15:27:21.902 T:18693 info <general>: [plugin.video.mediathekview-1.1.3:MediathekViewPlugin]: request processed: 6.922961950302124 sec
Leider weiß ich hier nicht mehr weiter. Vielleicht stört der Underscore im Namen der Datenbank. In jedem Falle bin ich Euch für Hilfe dankbar.
Bernbacher
-
Hat sich erledigt. Dem Datenbankbenutzer mediathek fehlten die Schreibrechte für die Datenbank mediathek_db. Jetzt funktioniert es.