Yak shaving logs


My life is just yak shaving.

MySQLのバージョンを5.1から5.7にしてRubyからMySQLに接続する際にlibmysqlclient_r.so.16: cannot open shared object file: No such file or directory

2018/07/07 #mysql

By Yusuke Takita


こんにちは。Kajitz inc.の瀧田です。

MySQL5.1(CentOS6のデフォルト)で絵文字対応したくて文字コードを utf8 から utf8mb4 にしようとしたところ、
utf8mb4 対応のMySQLバージョン5.5は以降だったため、MySQLをアップデートしてRubyからMySQLに接続しようとするとエラーがでました。

libmysqlclient_r.so.16: cannot open shared object file: No such file or directory

mysql2 というアダプターを利用してRubyからMySQLに接続していますが、
そのアダプターが参照している libmysqlclient_r.so.16 のバージョンも変わったために
エラーが出ているようです。

gemを新しくしたらエラーが解消しました。

$ gem uninstall mysql2
$ gem install mysql2

Capistranoを利用してRailsをデプロイしている環境では、Capistranoでbundle installのキャッシュクリアが分からず、本番環境でgemを消して再度デプロイすればいけました。(趣味のブログをデプロイしている環境なのでいいですが、仕事ではできないですね・・・)

参考

https://stackoverflow.com/questions/41538713/mysql2-gem-not-working-after-updating-to-ubuntu-16-04-libmysqlclient-so-18

このエントリーをはてなブックマークに追加

categories


最新記事


tags