debian stretch upgrade - mariadb wurde entfernt libmysqlclient.so.18 - wie bekomme ich es zurück?

1970
jakethedog

Ich habe ein Upgrade auf Debian Stretch von Jessie.

Meine MySQL-Datenbank wurde migriert und ich kann sie lesen. Ich habe ein Django-Projekt, das auf libmysqlclient.so.18 basiert, um auf MySQL zuzugreifen.

Ich habe mariadb-server und libmariadbclient18 installiert.

Was muss ich tun, um sicherzustellen, dass Django auf meine Datenbank zugreifen kann?

Dies ist der Fehler, den ich bekomme:

 raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e) django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: libmysqlclient.so.18: cannot open shared object file: No such file or directory 

Ich habe versucht ln -s /usr/lib/x86_64-linux-gnu/libmariadbclient.so.18 to /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18, den Fehler wie folgt zu ändern:

 raise ImproperlyConfigured("Error loading MySQLdb module: %s" % e) django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18: version `libmysqlclient_18' not found (required by /usr/local/lib/python2.7/dist-packages/_mysql.so) 
1

2 Antworten auf die Frage

3
jakethedog

Als temporären Fix habe ich das Deb für libmysqlclient18 direkt von hier installiert: https://launchpad.net/ubuntu/xenial/amd64/libmysqlclient18/5.6.25-0ubuntu1

Eine offiziellere Antwort wäre willkommen.

2
Nulli

Ich habe diesen Fehler mit behoben ln -s /usr/lib/x86_64-linux-gnu/libmariadb.so.2 /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18

Libmariadb.so.2 wird mit dem Paket libmariadb2 geliefert.