【问题标题】:mysql 5.7 & rails 4.2 fail to load on Ubuntu 16.04.1mysql 5.7 & rails 4.2 无法在 Ubuntu 16.04.1 上加载
【发布时间】:2017-01-02 11:11:41
【问题描述】:

刚刚升级到 Ubuntu 16.04.1 & MySQL-5.7

数据库已重新加载。从 mysql 控制台访问数据库正常。

重新启动。

现在,

rails 控制台产生以下错误:

LoadError: libmysqlclient.so.18: cannot open shared object file: 
No such file or directory - 
/var/www/.../shared/vendor/bundle/ruby/2.2.0/extensions/x86_64-linux/2.2.0-static/mysql2-0.4.5/mysql2/mysql2.so
/var/www/.../shared/vendor/bundle/ruby/2.2.0/gems/mysql2-0.4.5/lib/mysql2.rb:31:in `require'

mysql2.s0 存在于其指定路径中

-rwxr-xr-x 1 linkee admin 447949 Oct 31 17:36 mysql2.so*

我的理解是.so.18属于mysql 5.6,如果是这样,不明白为什么还涉及到。

libmysqlclient.so.18 未安装。

dpkg -l | grep mysql

ii  libdbd-mysql-perl       4.033-1ubuntu0.1       
ii  libmysqlclient-dev      5.7.16-0ubuntu0.16.04.1
ii  libmysqlclient20:amd64  5.7.16-0ubuntu0.16.04.1
ii  mysql-client            5.7.16-0ubuntu0.16.04.1
ii  mysql-client-5.7        5.7.16-0ubuntu0.16.04.1
ii  mysql-client-core-5.7   5.7.16-0ubuntu0.16.04.1
ii  mysql-common            5.7.16-0ubuntu0.16.04.1
ii  mysql-server            5.7.16-0ubuntu0.16.04.1
ii  mysql-server-5.7        5.7.16-0ubuntu0.16.04.1
ii  mysql-server-core-5.7   5.7.16-0ubuntu0.16.04.1
ii  python-mysqldb          1.3.7-1build2 

mysql2 的 Gemfile.lock 条目:mysql2 (0.4.5)

gem install mysql2 安装OK。

gem install mysql2
Building native extensions.  This could take a while...
Successfully installed mysql2-0.4.5
1 gem installed

希望能帮助您解决此问题。

【问题讨论】:

  • 重建 gem? IE。删除它并重新安装,以便它强制重建。否则只要安装libmysqlclient18,多个客户端库可以共存就好了。
  • 不幸的是,这里没有在 xenial 上安装 libmysqlclient18 的候选者。
  • 但我所拥有的是:/usr/lib/x86_64-linux-gnu/libmysqlclient.so.20。一定是某种线索。
  • libmysqlclient.so.20,已超出 libmysqlclient-dev。 mysql2 gem 已被删除并重新安装了几次都无济于事。

标签: mysql ruby-on-rails-4


【解决方案1】:

恢复到早期版本:mysql2-0.4.1。 现在工作正常。 为什么。我不知道。可能mysql2-0.4.5有问题。

【讨论】:

    猜你喜欢
    • 2020-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-16
    • 2013-10-14
    • 1970-01-01
    相关资源
    最近更新 更多