我正在尝试使用Ubuntu 10.04服务器,sphinx,myql2版本0.2.7和percona服务器5.5(Myslql 5.5)运行Rails 2应用程序。 irb中的mysql2工作正常,我可以连接到db。这个rails 2应用程序正在另一个带有MySql 5.1的Centos服务器上运行。我跑的时候:
script/server -e production
我明白了:
mysql2.so:libmysqlclient_r.so.15:无法打开共享对象文件:没有这样的文件或目录
这是我的libs:
# 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
我该如何解决?
答案 0 :(得分:86)
如果您在升级到12.04之后再次遇到此错误(或者在升级到12.04后搜索此页面标题后到达此处的人员),以下内容对我有用:
gem uninstall mysql2
gem install mysql2
这将使用libmysqlclient18重新编译gem,并为我工作。
希望帮助那里的人。
答案 1 :(得分:7)
您需要安装开发库。尝试
sudo apt-get install libmysqlclient20-dev
或
sudo apt-get install libmysqlclient19-dev
答案 2 :(得分:2)
安装mysql客户端库:apt-get install libmysqlclient16
答案 3 :(得分:2)
我在mysql-python中遇到此错误,并使用pip解决了这个问题:
pip uninstall mysql-python
pip install mysql-python
答案 4 :(得分:2)
此处未提及的另一个选项,但已在this question中得到解答。您是否必须使用hana::tuple(hana::type_c<Types>...)
选项安装MySQL-python
。这个问题更容易找到,所以我在这里添加答案以供参考:
首先卸载当前版本的--no-binary
:
MySQL-python
然后使用pip uninstall MySQL-python
参数安装MySQL-python
:
--no-binary
答案 5 :(得分:0)
更新到Ubuntu 19.10之后。我得到了错误:
django.core.exceptions.ImproperlyConfigured:加载MySQLdb模块时出错:libmysqlclient.so.20:无法打开共享库文件:没有这样的文件或目录
解决方案:
1)激活您的virtualenv
2)(yourvirtualenv)pip uninstall mysqlclient
3)(yourvirtualenv)pip install mysqlclient
答案 6 :(得分:0)
如果您正在运行Ubuntu / Debian,则正确的解决方案是安装libmariadb-dev-compat并重建(使用MariaDB 10.3 +)。