Amazon Linux 2023 に MariaDB 10.5 をインストールする方法

Amazon Linux 2023 に MariaDB 10.5 をインストールする方法

Amazon Linux 2023 の上で MariaDB のインストールを紹介し、MariaDB サーバーでのデータベース管理をテストします。

こんにちは、クラスメソッドタイランドのPOPです。


Amazon Linux 2023 で MariaDB を使用したことがありますか?
今回は AL2023 に MariaDB をインストールする方法を紹介したいと思います。

MariaDB とは

MariaDBは、MySQLから派生したオープンソースのリレーショナルデータベース管理システムです。高いパフォーマンスと拡張性を持ち、広く使用されています。MySQLとの互換性があり、多くの機能強化が加えられています。

前提条件

※EC2 インスタンスが作成済みであること。
EC2 インスタンスを作成する方法は、以下のリンクを参照してください。
https://dev.classmethod.jp/articles/how-to-install-amazon-linux-2023-on-ec2-jp/

MariaDB をインストール

この MariaDB のインストールでは PuTTY でコマンドを実行しますので、PuTTY または普段使用されている別のツールなどで EC2 インスタンスに接続しておいてください。接続後、コマンドを実行していきます。

root 権限を持つユーザーとしてログインするためのコマンドを実行します。

sudo su -

サーバーを最新の状態に更新するためのコマンドを実行します。

yum update -y

使用している OS に MariaDB 10.5 をインストールして更新するためにコマンドを実行します。 (今回は Amazon Linux 2023 に MariaDB サーバーをインストールします。)

yum install mariadb105-server -y

インストールした MySQL のバージョンを確認するためのコマンドを実行します。(今回は MariaDB です。)

mysql --version

「mariadb.cnf」ファイルを編集するためにコマンドを実行します。(この場合、新しいファイルを作成します。)

vi /etc/my.cnf.d/mariadb.cnf

コマンドを実行すると、以下のような画面が表示されます。
次に「i」を押してから、左下に「-- INSERT --」が表示されます。次に、以下の内容を追加します。
※この設定により、サーバーは 1 ~ 4 バイト長の UTF-8 エンコード文字を処理できるようになります。

[mysqld]
character-set-server=utf8mb4

[client]
default-character-set=utf8mb4

Output

[mysqld]
character-set-server=utf8mb4

[client]
default-character-set=utf8mb4
~
~
~
~
~
-- INSERT --

追加が完了したら、以下のようにファイルを保存して終了します。
・「Esc」を押します。
・「:wq」または「:x」を入力し、「Enter」を押します。

[mysqld]
character-set-server=utf8mb4

[client]
default-character-set=utf8mb4
~
~
~
~
~
:x

MariaDB を起動するためにコマンドを実行します。

systemctl start mariadb

MariaDB ステータスを確認するためにコマンドを実行します。
このように「Active: active (running)」と表示されていれば、MariaDB が起動していることになります。

systemctl status mariadb

※ステータス画面を終了するために「q」を押します。
Output

[root@ip-xx-xx-xx-xx ~]# systemctl status mariadb
● mariadb.service - MariaDB 10.5 database server
     Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; preset:>
     Active: active (running) since Mon 2024-11-18 09:37:44 UTC; 38s ago
       Docs: man:mariadbd(8)
             https://mariadb.com/kb/en/library/systemd/
    Process: 26648 ExecStartPre=/usr/libexec/mariadb-check-socket (code=exited,>
    Process: 26670 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir mariadb.ser>
    Process: 26768 ExecStartPost=/usr/libexec/mariadb-check-upgrade (code=exite>
   Main PID: 26754 (mariadbd)
     Status: "Taking your SQL requests now..."
      Tasks: 13 (limit: 1064)
     Memory: 66.3M
        CPU: 643ms
     CGroup: /system.slice/mariadb.service
             └─26754 /usr/libexec/mariadbd --basedir=/usr

Nov 18 09:37:44 ip-xx-xx-xx-xx.ap-northeast-1.compute.internal mariadb-prepare>
Nov 18 09:37:44 ip-xx-xx-xx-xx.ap-northeast-1.compute.internal mariadb-prepare>
Nov 18 09:37:44 ip-xx-xx-xx-xx.ap-northeast-1.compute.internal mariadb-prepare>
Nov 18 09:37:44 ip-xx-xx-xx-xx.ap-northeast-1.compute.internal mariadb-prepare>
Nov 18 09:37:44 ip-xx-xx-xx-xx.ap-northeast-1.compute.internal mariadb-prepare>
Nov 18 09:37:44 ip-xx-xx-xx-xx.ap-northeast-1.compute.internal mariadb-prepare>
Nov 18 09:37:44 ip-xx-xx-xx-xx.ap-northeast-1.compute.internal mariadb-prepare>
lines 1-23

MariaDB を有効化するコマンドを実行します。

systemctl enable mariadb

Output

[root@ip-xx-xx-xx-xx ~]# systemctl enable mariadb
Created symlink /etc/systemd/system/mysql.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/mysqld.service → /usr/lib/systemd/system/mariadb.service.
Created symlink /etc/systemd/system/multi-user.target.wants/mariadb.service → /usr/lib/systemd/system/mariadb.service.
[root@ip-xx-xx-xx-xx ~]#

※この設定を行うと、Linux の再起動または EC2 Instance の起動/停止後に MariaDB が自動的に起動するようになります。

データベース管理テスト

MariaDB を接続

MariaDB データベースに接続するためにコマンドを実行します。

mysql -u root -h localhost

Output

[root@ip-xx-xx-xx-xx ~]# mysql -u root -h localhost
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 10.5.25-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)]>

データベースを作成

次のコマンドを実行して、データベースの作成してみます。

データベースを確認するコマンドを実行します。

show databases;

Output

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.001 sec)

MariaDB [(none)]>

データベースを作成するコマンドを実行します。
※コマンドを実行する前に、任意のデータベース名に「database_name」に変更してください。今回は「pop」です。

CREATE DATABASE database_name;

Output

MariaDB [(none)]> CREATE DATABASE pop;
Query OK, 1 row affected (0.000 sec)

MariaDB [(none)]>

再度データベースを確認するコマンドを実行します。

show databases;

前の手順で作成したデータベース名が追加されていることがわかります。今回は「pop」です。
Output

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| pop                |
+--------------------+
4 rows in set (0.000 sec)

MariaDB [(none)]>

テーブルを作成

前の手順で作成した「pop」という名前のデータベースにテーブルを作成します。

まず、管理したい特定のデータベースを選択するコマンドを実行します。
※「database_name」を前の手順で作成したデータベース名に変更します。

use database_name;

Output

MariaDB [(none)]> use pop;
Database changed
MariaDB [pop]>

テーブルを作成するコマンドを実行します。
※「table_name」を任意のテーブル名に変更します。今回は「test」です。

create table table_name (id int, name varchar(30));

Output

MariaDB [pop]> create table test (id int, name varchar(30));
Query OK, 0 rows affected (0.005 sec)

MariaDB [pop]>

データをテーブルに挿入

テーブルにデータを追加するコマンドを実行します。
※「table_name」を前の手順で作成したテーブル名に変更します。今回は「test」です。

insert into table_name value (1, 'test');

Output

MariaDB [pop]> insert into test value (1, 'test');
Query OK, 1 row affected (0.002 sec)

MariaDB [pop]>

指定されたテーブルからすべての列とレコードを取得するSQLクエリのコマンドを実行します。

select * from table_name;

Output

MariaDB [pop]> select * from test;
+------+------+
| id   | name |
+------+------+
|    1 | test |
+------+------+
1 row in set (0.000 sec)

MariaDB [pop]>

データベースシステムから安全に終了するコマンドを実行します。

quit

Output

MariaDB [pop]> quit
Bye
[root@ip-xx-xx-xx-xx ~]#

まとめ

データベースの管理に使用するために Amazon Linux 2023 に MariaDB Server をインストールできます。また、MariaDB Client を使用して、RDS などの他のデータベースに接続することもできます。

この記事がどなたかのお役に立てば幸いです。
以上、クラスメソッドタイランドのPOP(Tinnakorn Maneewong)でしたっ!

関連記事

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.