AWSでWeb開発環境構築 その5:MariaDBをセットアップ

Sponsored Link
ロリポップ!レンタルサーバー

Databaseイメージ

前回でapacheとphpのセットアップができましたので、今回はデータベースをセットアップしたいと思います。

MariaDB 10.2のインストール

今回データベースはMariaDBをインストールしていきたいと思います。

amazon-linux-extrasには含まれていませんので、yumでインストールします。

$ sudo yum -y install mariadb-server

#開始
$ sudo systemctl start mariadb

バージョン確認をしたところ、インストールされたMariaDBは5.5でした。
出来るだけ新しいバージョンということで10.2を入れたかったのですが、いろいろと調べたり試した結果、最初にamazon-linux-extrasでphp7.3を入れていた事が要因の一つであることがわかりました。

$ amazon-linux-extras list | grep php
  _  php7.2                   available    \
  _  php7.1                   available    \
  _  lamp-mariadb10.2-php7.2  available    \
 31  php7.3=latest            enabled      \

前回amazon-linux-extrasでphp7.3をインストールしましたが、その後、Extrasの状態は上記のようになります。

php7.3がenableとなり、それ以前のバージョンについては利用できなくなっています。(番号が表示されていない)

この状態で、

$ yum install mariadb-server

を実行すると5.5が入ってしまう。いろいろとGoogle先生に聞いてみたところAmazon Linux2 にMariaDB 10.2を入れるためには、

lamp-mariadb10.2-php7.2を有効にする必要がありそう、ということがわかりました。

#手動で有効にしてみる→失敗
$ sudo amazon-linux-extras enable lamp-mariadb10.2-php7.2
Refusing because lamp-mariadb10.2-php7.2 could cause an invalid combination.

#php7.3をアンインストールしてみる
$ sudo yum remove php7.3

#消えたのでもう一度→失敗
$ sudo amazon-linux-extras enable lamp-mariadb10.2-php7.2
Refusing because lamp-mariadb10.2-php7.2 could cause an invalid combination.
#listを確認してみる。php7.3がenableのまま。
$ amazon-linux-extras list | grep php
  _  php7.2                   available    \
  _  php7.1                   available    \
  _  lamp-mariadb10.2-php7.2  available    \
 31  php7.3=latest            enabled      \

#手動でdisableに
$ sudo amazon-linux-extras disable php7.3
$ amazon-linux-extras list | grep php
 15  php7.2                   available    \
 16  php7.1                   available    \
 17  lamp-mariadb10.2-php7.2  available    \
 31  php7.3                   available    \

$ sudo amazon-linux-extras enable lamp-mariadb10.2-php7.2

$ amazon-linux-extras list | grep php
 15  php7.2                          available    \
  _  php7.1                          available    \
 17  lamp-mariadb10.2-php7.2=latest  enabled      \
  _  php7.3                          available    \
#やっとenableになった。

この状態でインストール実行

$ sudo yum install -y mariadb-server

#開始
$ sudo systemctl start mariadb
#バージョン確認
$ sudo mysql -u root -e 'status'
--------------
mysql  Ver 15.1 Distrib 10.2.10-MariaDB, for Linux (x86_64) using  EditLine wrapper

Connection id:          8
Current database:
Current user:           root@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server:                 MariaDB
Server version:         10.2.10-MariaDB MariaDB Server
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    utf8
Conn.  characterset:    utf8
UNIX socket:            /var/lib/mysql/mysql.sock
Uptime:                 26 sec

Threads: 7  Questions: 4  Slow queries: 0  Opens: 16  Flush tables: 1  Open tables: 9  Queries per second avg: 0.153
--------------

ようやくMariaDB 10.2をインストールする事ができました。

いろんな依存関係があるので、何も考えなければ簡単ですが、引っかかると面倒ですね。

あと amazon-linux-extras についてメモ。

  • アンインストールコマンドが存在しない。
  • yumを使ってアンインストールするけど、管理状態はenableのまま。
  • だから手動でdisableに変更してあげる必要がある。

※MariaDBをインストールした後に、lamp-mariadb10.2-php7.2をdisableにして、PHP7.3をインストールしました。

最後にMariaDBの初期設定(rootのパスワードなど)を設定しましょう。

$ sudo mysql_secure_installation

ひとまず開発環境の構築は以上!

Sponsored Link

補足

今回セットアップしたapacheとMariaDBの自動起動設定は以下の通りです。

#Apacheの自動起動設定
$ sudo systemctl enable httpd
#MariaDBの自動起動設定
$ sudo systemctl enable mariadb

Sponsored Link