обновление debian stretch - mariadb удалил libmysqlclient.so.18 - как вернуть его обратно?

1987
jakethedog

Я обновился до Debian Stretch от Джесси.

Моя база данных mysql перенесена, и я могу ее прочитать. У меня есть проект django, который использует libmysqlclient.so.18 для доступа к mysql.

У меня установлены пакеты mariadb-server и libmariadbclient18.

что я должен сделать, чтобы django мог получить доступ к моей базе данных?

это ошибка, которую я получаю:

 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 

я пробовал, ln -s /usr/lib/x86_64-linux-gnu/libmariadbclient.so.18 to /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18который меняет ошибку на следующее:

 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 ответа на вопрос

3
jakethedog

В качестве временного исправления я установил deb для libmysqlclient18 прямо отсюда: https://launchpad.net/ubuntu/xenial/amd64/libmysqlclient18/5.6.25-0ubuntu1

более официальный ответ будет приветствоваться.

2
Nulli

Я исправил эту ошибку с ln -s /usr/lib/x86_64-linux-gnu/libmariadb.so.2 /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18

Libmariadb.so.2 поставляется с пакетом libmariadb2.