AWSでWeb開発環境構築 その5:MariaDBをセットアップ
前回で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
ひとまず開発環境の構築は以上!
補足
今回セットアップしたapacheとMariaDBの自動起動設定は以下の通りです。
#Apacheの自動起動設定
$ sudo systemctl enable httpd
#MariaDBの自動起動設定
$ sudo systemctl enable mariadb