web-dev-qa-db-ja.com

mysql2.so:libmysqlclient_r.so.15:共有オブジェクトファイルを開けません:そのようなファイルまたはディレクトリはありません

Rails Ubuntu 10.04サーバーを備えた2つのアプリ、sphinx、myql2バージョン0.2.7およびperconaサーバー5.5(Myslql 5.5)を実行しようとしています。irb内のmysql2は問題なく動作します。 db。this Rails 2アプリはMySql 5.1を備えた別のCentosサーバーで動作しています。実行すると:

script/server -e production 

私は得ます:

mysql2.so:libmysqlclient_r.so.15:共有オブジェクトファイルを開けません:そのようなファイルまたはディレクトリはありません

ここに私が持っているライブラリがあります:

# ls -l /usr/lib |grep sql
-rw-r--r--  1 root root 10581008 2011-11-18 16:51 libmysqlclient.a
lrwxrwxrwx  1 root root       16 2011-12-10 05:48 libmysqlclient_r.a -> libmysqlclient.a
lrwxrwxrwx  1 root root       20 2011-12-10 05:48 libmysqlclient.so -> libmysqlclient.so.16
lrwxrwxrwx  1 root root       29 2011-12-10 06:01 libmysqlclient.so.15 -> /usr/lib/libmysqlclient.so.16
-rw-r--r--  1 root root     7332 2011-11-18 16:44 libmysqlservices.a
-rw-r--r--  1 root root   562520 2010-02-08 06:59 libsqlite3.a
-rw-r--r--  1 root root      973 2010-02-08 06:59 libsqlite3.la
lrwxrwxrwx  1 root root       19 2011-12-07 17:15 libsqlite3.so -> libsqlite3.so.0.8.6
lrwxrwxrwx  1 root root       19 2011-03-09 18:43 libsqlite3.so.0 -> libsqlite3.so.0.8.6
-rw-r--r--  1 root root   528668 2010-02-08 06:59 libsqlite3.so.0.8.6
drwxr-xr-x  3 root root     4096 2011-12-10 05:47 mysql

どうすれば修正できますか?

26
rtacconi

12.04へのアップグレード後に再びこのエラーが発生する場合(または12.04へのアップグレード後にこのページのタイトルをグーグルした後にここに到着した場合)、次の方法でうまくいきました。

gem uninstall mysql2
gem install mysql2

これはlibmysqlclient18を使用してgemを再コンパイルし、私のために働いたでしょう。

それが誰かを助けることを願っています。

88
Ingusmat

開発ライブラリをインストールする必要があります。試す

Sudo apt-get install libmysqlclient20-dev

または

Sudo apt-get install libmysqlclient19-dev
7
Bill Leeper

私はmysql-pythonでこのエラーが発生し、pipを使用してこれを解決しました:

pip uninstall mysql-python
pip install mysql-python
2
elad silver

ここで言及されていないが この質問 で回答されている別のオプション。 MySQL-pythonオプションを使用して--no-binaryをインストールする必要があるということです。この質問の方がはるかに見つけやすいので、参考のためにここに回答を追加します。

まず、現在のバージョンのMySQL-pythonをアンインストールします。

pip uninstall MySQL-python

次に、MySQL-pythonパラメータを使用して--no-binaryをインストールします。

pip install --no-binary MySQL-python MySQL-python
2
Bono

Mysqlクライアントライブラリをインストールします:apt-get install libmysqlclient16

2
cristian

Ubuntu 19.10にアップデートした後。エラーが発生しました:

Django.core.exceptions.ImproperlyConfigured:MySQLdbモジュールの読み込みエラー:libmysqlclient.so.20:共有オブジェクトファイルを開けません:そのようなファイルまたはディレクトリはありません

ソリューション:

1)virtualenvをアクティブ化する

2)(yourvirtualenv)pip uninstall mysqlclient

3)(yourvirtualenv)pip install mysqlclient

0
HoangYell