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

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

ただいまの
回答率

90.11%

EC2をansibleで構築 MySQL設定でのエラー

解決済

回答 1

投稿 編集

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

TomoKubota

score 51

AmazonLinuxをansibleで構築中です。
vagratでテストした際には問題なかったのですが、
MySQLの構築時に下記のエラーが出てしまいました。

既存のmysql55-libs-5.5.56-1.17.amzn1.x86_64が問題のようですが、どのように対処すべきか調べてみてもわかりませんでした。
ご存知の方、いらっしゃいましたら教えていただけないでしょうか。
よろしくお願いいたします。

エラー表示:
TASK [mysqld/install : install dependencies] 
--省略--
file /usr/lib64/mysql/libmysqlclient.so.18 from install of mysql-community-libs-5.6.36-2.el6.x86_64 
conflicts with file from package mysql55-libs-5.5.56-1.17.amzn1.x86_64\n\nError Summary\n
-------------
\n\n", "rc": 1, "results": ["mysql55-libs-5.5.56-1.17.amzn1.x86_64 providing mysql-libs is already installed
--省略--
---
yml
- name: remove maria db
  yum: name=mariadb-libs state=removed
  become: yes 

- name: remove /var/lib/mysql
  file:
    path: /var/lib/mysql
    state: absent
  ignore_errors: yes 

- name: install dependencies
  yum: name={{ item }} enablerepo=remi,epel,mysql56-community disablerepo=mysql57-community state=installed
  with_items:
    - cmake
    - mysql-libs
    - mysql-devel
    - mysql-server
  become: yes 

- name: start MySQL
  service: name=mysqld state=started enabled=yes
  become: yes 
- name: Stat /etc/yum.repos.d/mysql.repo
  stat: path=/etc/yum.repos.d/mysql.repo
  become: yes 
  register: has_repo

- name: Add repository 'mysql-repo'
  yum: name=http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm state=present
  become: yes 
  when: has_repo.stat.exists == false
  • 気になる質問をクリップする

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

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

    クリップを取り消します

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

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

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

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

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

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

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

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

    質問の評価を下げる

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

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

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

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

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

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

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

    詳細な説明はこちら

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

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

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

回答 1

checkベストアンサー

+1

mysql.com の community 版をインストールしようとしているのだと思います。
ここで提供されていいる mysql-community-libs は、OS 標準の mysql-libs を置き換えるように作られているのですが、Amazon Linux では mysql55-libs という別の名前でインストールされているためうまく置き換えができないようです。

mysql55-libs は EC2 インスタンスを起動した直後はインストールされていないようですが、どのようにインストールしましたか?

  • (案1) Vagrant 仮想マシンと同じ OS の EC2インスタンスを使用する。
  • (案2) Amazon Linux で提供されている mysql56-server を利用する。
  • (案3) mysql55-libs をアンインストールした後、mysql.com のパッケージをインストールする。
    ※他のパッケージが mysql55-libs を必要としている場合、アンインストールできません。

投稿

  • 回答の評価を上げる

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

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

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

  • 回答の評価を下げる

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

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

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

  • 2017/05/22 23:21 編集

    ありがとうございます。
    VagrantではCentOS7を利用していますが、
    今回のサーバー構築がAmazonのサービスを十分に利用することを前提としているようなので、
    AmazonLinuxを使う方向は変えないでいきたいと思います。
    そうなると頂いた案のうちの2を選択することになると思います。

    サーバーの詳細な設定については全く理解していないため、もしよろしければ教えていただきたいのですが、mysql56-server をインストールした場合は、mysql-community-libsは不要になるのでしょうか?

    すみません、上記の質問は撤回させてください。
    >mysql55-libs は EC2 インスタンスを起動した直後はインストールされていないようですが、どのようにインストールしましたか?

    こちらのご指摘について、関係がありそうなところを本文に追記させていただきました。
    mysql55-libsをインストールするような記述をどこにもしていないので、頭を抱えてしまっています。

    キャンセル

  • 2017/05/22 23:44

    mysql56-server をインストールすると、依存関係で mysql56-libs も一緒にインストールされます。
    mysql-community-libs とは共存できません。

    キャンセル

  • 2017/05/22 23:47

    ご連絡ありがとうございます(同時に投稿してしまったようです)。
    >mysql56-server をインストールすると、依存関係で mysql56-libs も一緒にインストールされます

    一旦、mysql-community-libsの部分をコメントアウトして、実行してみたいと思います。
    ありがとうございます。

    キャンセル

  • 2017/05/23 00:03

    - name: install dependencies
    yum: name={{ item }} enablerepo=remi,epel,mysql56-community disablerepo=mysql57-community state=installed
    with_items:
    - cmake
    - mysql-libs
    - mysql-devel
    - mysql-server
    become: yes
    上記部分をコメントアウトして
    - name: install mysql56-server
    yum: name=mysql56-server
    become: yes
    として実行したところ、mysqlの構築部分まで進むことができました。
    *今度はinstall MySQL-python で You are using pip version 6.1.1, however version 9.0.1 is available のエラーが出たのですが、これはこれで対処いたします。

    本当に助かりました。ありがとうございます。

    キャンセル

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

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