0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Amazon Linux2 にMySQLを入れる際のエラー

Last updated at Posted at 2020-05-23

AWS EC2インスタンスにLAMP環境構築する際に、MySQLインストールでエラーに詰まったのでメモメモ。

エラーの原因を結論から言えば、AmazonLinux2にはデフォルトでMySQLは用意されておらず、MariaDBがちょこんと居座ってること。そのため対処として公式ページからMySQLをインストールして、MariDB消せばOKである。

##前提

  • Amazon Linux 2 AMI (HVM) SSD Volume Type
  • MySQL Ver 14.14 Distrib 5.7.30, for Linux (x86_64) ←これを入れたい

##過程と対処

EC2インスタンスにssh接続後、ApacheとPHPをyumインストール。問題なく進み、そのノリでMySQLもインストール。

yum install -y mysql-community-server

ここでNo package mysql-community-server available.とエラーを返される。どうやらパッケージがないらしい。以下で調べてみると確かに無かった。

yum list mysql*

そこで、公式から追加することに(→MySQL Yum Repository)。ただしAmazonLinux2はcentOS7ベースということなので、追加するのはel7を選択。

 yum install http://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm   

ちゃんとリポジトリに追加されてるかを次で確認

yum repolist

mysql80-community-release-el7-3.noarchを確認。使用したいバージョンは5.7なので、5.7を有効化させる必要がある(最新バージョンの8.0のインストールによって旧バージョン5.7のリポジトリもセットでインストールされる)。

vi /etc/yum.repos.d/mysql-community.repo

mysql-communityのレポジトリ設定をいじる。上のコマンドで設定ファイルを開いたらMysql8.0のenabledの欄を0にして、Mysql5.7のenabledの欄を1に変更する。これによってインストールの方向が5.7に向く。

さて、これでyum install mysql-community-serverで解決かと思えば、次は依存関係のエラーが発生。エラー文を確認するとAvailable: 1:mariadb-libsの文字列を数件発見。MariaDB...?

どうやらAmazonLinux2(CentOS7も同様)ではMariaDBがデフォルトで入っており、MySQLインストールの際に邪魔になってしまうらしい。今回はMySQL使いたいので、MariaDBを削除することに。

yum remove mariadb-libs 

これの後にyumインストールしたら無事に解決しました。

##参考
[CentOS 7にMySQL 5.7をyumでインストール]
(https://hepokon365.hatenablog.com/entry/2020/03/20/235538)
AWS Amazon Linux2にMySQL5.7を構築する
Amazon Linux2でmysqlを入れようとしたらエラーが出た
パッケージ依存関係を解消する(rpm)

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?