質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.12%

Capistranoでデプロイのする際にlibmysqlclientのロードエラーが出ており、ネット上の記事などを参照したのですが、解決できませんでした。

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,306

cDm_48

score 170

AWSでRailsをデプロイする際に、表題のエラーがでてしまい。詰まっております。

尚、デプロイはCapistrano3をしようしております。

ruby -v
ruby 2.2.3p173

 今回のエラー内容

LoadError: /usr/lib64/mysql/libmysqlclient.so.18: version `libmysqlclient_16' not found (required by /var/project_name/shared/bundle/ruby/2.2.0/extensions/x86_64-linux/2.2.0-static/mysql2-0.3.20/mysql2/mysql2.so) - /var/project_name/shared/bundle/ruby/2.2.0/extensions/x86_64-linux/2.2.0-static/mysql2-0.3.20/mysql2/mysql2.so

 参考にした記事

http://qiita.com/pollseed/items/b7d187dbbd64b29820d4#%E5%AF%BE%E5%BF%9C3-1libmysqlclient%E5%91%A8%E3%82%8A

↑の記事でいう
'$ ldd /usr/lib64/mysql/libmysqlclient.so.18'
のところまではは同じように設定し、結果も同じのが帰っております。

※mysqlのバージョンも上記記事と同じに合わせております。

ただ、記事中にある

ldd .rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/extensions/x86_64-linux/2.2.0-static/mysql2-0.3.18/mysql2/mysql2.so
ldd .rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/mysql2-0.3.18/ext/mysql2/mysql2.so
ldd .rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/mysql2-0.3.18/lib/mysql2/mysql2.so


.rbenvというのがそもそもなかったため、

$ pwd
/var/project_name/releases/20160605065652

の配下で実行した際に、エラーがでるため、この部分はできておりません。
No such file or directory

ちなみにrbenv自体はインストールできているはずです。

$ which rbenv
/usr/local/rbenv/bin/rbenv

rbenvの問題なのか、mysql側の問題なのか、それ以外なのか、
原因がわからなくなってしまいました。

どなたかアドバイス頂けますと幸いです。

よろしくお願いします。

 追記

さらに調べていると、socketが原因だったという記事や、my.cnfの設定ミスが原因だったとか色々あり、混乱してます。

socketとmy.cnfについては再三確認をしております。

socketはrailsのdatabase.ymlとあわせて、
/tmp/mysql.sock

に統一しております。

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/tmp/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

# Recommended in standard MySQL setup
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

explicit_defaults_for_timestamp=1
skip-grant-tables


[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[client]
socket=/tmp/mysql.sock

サーバー上で、mysqlコマンドをたたくと、きちんとmysqlが起動します。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+1

mysql2のgemが入っている必要があります。

.rbenv/ はホームディレクトリ直下にないでしょうか。
あと、/var/project_name/releases/20160605065652 直下で
production環境で bundle installを試して見てください。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/06/09 22:27 編集

    a

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.12%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る

  • トップ
  • MySQLに関する質問
  • Capistranoでデプロイのする際にlibmysqlclientのロードエラーが出ており、ネット上の記事などを参照したのですが、解決できませんでした。