AmazonLinux2へのMariaDBのインストール
通常の方法でMariaDBを導入する場合、次のような感じになります
$ sudo yum -y update
$ sudo yum -y install mariadb-server
これでインストールされるMariaDBのディストリビューションは mariadb-server.x86_64 1:5.5.68-1.amzn2
(MariaDB 5.5.68) になります。
これを最新のディストリビューションにするためには、オフィシャルページの通り、yumのレポリストを作成(編集)して、その情報に基づいてインストールすることになります。
念のためですが、バージョンが新しければ新しいほど良いというわけではありませんので、必要に応じて導入するバージョンを選択してください。(今回はサーバー設定からのスクラッチビルドだったため、ついでに最新版にしてみました)
インストール
オフィシャルサイトの方法では、AmazonLinux2はCentOS7に準じるため、以下のような内容を /etc/yum.repos.d/MariaDB.repo
として保存します。(今回は10.11を導入)
# MariaDB 10.11 [RC] CentOS repository list - created 2023-**-** **:** UTC
# https://mariadb.org/download/
[mariadb]
name = MariaDB
# rpm.mariadb.org is a dynamic mirror if your preferred mirror goes offline. See https://mariadb.org/mirrorbits/ for details.
# baseurl = https://rpm.mariadb.org/10.11/centos/$releasever/$basearch
baseurl = https://ftp.yz.yamagata-u.ac.jp/pub/dbms/mariadb/yum/10.11/centos/$releasever/$basearch
module_hotfixes = 1
# gpgkey = https://rpm.mariadb.org/RPM-GPG-KEY-MariaDB
gpgkey = https://ftp.yz.yamagata-u.ac.jp/pub/dbms/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1
これで sudo yum -y install MariaDB-server MariaDB-client
とすればインストールが無事完了するはずですが、おそらく以下のようなエラーを吐いて終了してしまいます...
https://ftp.yz.yamagata-u.ac.jp/pub/dbms/mariadb/yum/10.11/centos/2/x86_64/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found
他のミラーを試します。
(中略)
failure: repodata/repomd.xml from mariadb: [Errno 256] No more mirrors to try.
https://ftp.yz.yamagata-u.ac.jp/pub/dbms/mariadb/yum/10.11/centos/2/x86_64/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found
ここでエラーをよく見ると、.../centos/2/x86_64/repodata/repomd.xml
となっており、実際にこのURLを叩くと404エラーが返ってきます...でもよく考えてみると、確かにCentOS2は存在しないことがわかります。
これはレポファイルで .../centos/$releasever/$basearch
と記述していることが原因で、$releasever = 2
が返されてしまっています。なので、以下のように、$releasever
ではなく 7
とレポファイルを書き換えてやればインストールが完了します。
$ sudo vi /etc/yum.repos.d/MariaDB.repo
# MariaDB 10.11 [RC] CentOS repository list - created 2023-**-** **:** UTC
# https://mariadb.org/download/
[mariadb]
name = MariaDB
# rpm.mariadb.org is a dynamic mirror if your preferred mirror goes offline. See https://mariadb.org/mirrorbits/ for details.
# baseurl = https://rpm.mariadb.org/10.11/centos/7/$basearch
baseurl = https://ftp.yz.yamagata-u.ac.jp/pub/dbms/mariadb/yum/10.11/centos/7/$basearch
module_hotfixes = 1
# gpgkey = https://rpm.mariadb.org/RPM-GPG-KEY-MariaDB
gpgkey = https://ftp.yz.yamagata-u.ac.jp/pub/dbms/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1
$ sudo yum -y install MariaDB-server MariaDB-client
(中略)
インストール:
MariaDB-client.x86_64 0:10.11.1-1.el7.centos MariaDB-compat.x86_64 0:10.11.1-1.el7.centos
MariaDB-server.x86_64 0:10.11.1-1.el7.centos
依存性関連をインストールしました:
MariaDB-common.x86_64 0:10.11.1-1.el7.centos boost-program-options.x86_64 0:1.53.0-27.amzn2.0.5
galera-4.x86_64 0:26.4.13-1.el7.centos libpmem.x86_64 0:1.3-3.amzn2
pv.x86_64 0:1.4.6-1.el7 socat.x86_64 0:1.7.3.2-2.amzn2.0.1
置換:
mariadb.x86_64 1:5.5.68-1.amzn2 mariadb-libs.x86_64 1:5.5.68-1.amzn2
完了しました!
これでサーバーを起動してログインすると、10.11.1
がインストールされたことがわかります。
$ sudo systemctl start mysqld
$ mysql -uroot
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 10.11.1-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> quit;
Bye
以上、参考になれば幸いです!