debian stretch 升级 - mariadb 删除了 libmysqlclient.so.18 - 如何恢复它?

debian stretch 升级 - mariadb 删除了 libmysqlclient.so.18 - 如何恢复它?

我从 jessie 升级到了 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

作为临时修复,我直接从这里安装了 libmysqlclient18 的 deb:https://launchpad.net/ubuntu/xenial/amd64/libmysqlclient18/5.6.25-0ubuntu1

欢迎提供更官方的答复。

答案2

我修复了这个错误ln -s /usr/lib/x86_64-linux-gnu/libmariadb.so.2 /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18

libmariadb.so.2 附带 libmariadb2 包。

答案3

我想说声谢谢您创建了这个帖子,它帮了我大忙。我的问题几乎一模一样,是在发行版升级到 Debian Buster 后发生的 - 我选择将所有 mariaDB 软件包从版本 10.1 升级到 10.3,同时选择保留原始配置文件。

这是一个对我有用的替代(修补程序)解决方案:

ln -s libmariadb.so.3 /usr/lib/x86_64-linux-gnu/libmariadbclient.so.18

mariaDB 在下面记录了此解决方案: https://jira.mariadb.org/browse/MDEV-13934

相关内容