web-dev-qa-db-ja.com

Debianストレッチアップグレード-mariadbはlibmysqlclient.so.18を削除しました-それを取り戻す方法は?

ジェシーからDebianストレッチにアップグレードしました。

私のmysqlデータベースが移行され、それを読み取ることができます。 mysqlにアクセスするためにlibmysqlclient.so.18に依存するDjangoプロジェクトがあります。

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)
4
jakethedog

一時的な修正として、libmysqlclient18のdebをここから直接インストールしました: https://launchpad.net/ubuntu/xenial/AMD64/libmysqlclient18/5.6.25-0ubuntu1

より公式な回答を歓迎します。

4
jakethedog

このエラーをln -s /usr/lib/x86_64-linux-gnu/libmariadb.so.2 /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18で修正しました

Libmariadb.so.2には、libmariadb2パッケージが付属しています。

4
Nulli

このスレッドを作成していただきありがとうございます。非常に役立ちました。私の問題はほぼ同じで、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

1
aero