MariaDBはRDBMS(リレーショナルデータベースマネジメントシステム)と呼ばれるシステムです。
その名の通り、リレーショナルデータベースを管理するシステムです。
リレーショナルデータベースはExcelの表(テーブル)機能だけに特化した物と考えてください。
ネ申エクセルとかは作れないですが、Excelよりも大量のデータを格納できますし動作が速いですし、表同士の結合やVLOOKUPみたいな事が簡単に出来ます。
今のExcelの最大行数は100万行以上ありますが、RDBMSは億単位のレコード(Excelで言う行)を保持できます。
では、このRDBMSは何に使われるのかというと……大抵のシステムはRDBMSを使います。
例えば、ネットショッピングで言うと購買履歴や商品一覧、ユーザデータなどがそうでしょう。基本的に表で表せるようなデータは全部RDBMSが使われていると考えて差し支えありません。
また、WordPressの記事やコメントもRDBMSで管理されています。たとえば記事だと、日付、記事名、公開範囲だけでなく、記事そのものすらRDBMSに格納されています。
MariaDBを利用する主なアプリケーション
- Owncloud / Nextcloud
- WordPress
この記事で行うこと
1. MariaDBのインストール
最新バージョンのMariaDBをインストールするには自身でリポジトリを作成する必要があります。
作成するべきリポジトリの中身は、MariaDBの公式サイトでOSとバージョンとミラー(ダウンロード元)を選択すると自動的に表示されますので、その通りの内容のリポジトリを作成します。
MariaDBの公式サイトは以下のページとなります。
https://mariadb.org/download/#mariadb-repositories
リポジトリの作成については以下の記事を参照してください。
リポジトリを作成した後はdnfを使ってインストールを行います。(MariaDBのリポジトリはモジュールに対応していないので、普通にインストールします)
[root@localhost ~]# dnf install mariadb-server
新しく作成したリポジトリからインストールされている事を確認した上でインストールしましょう。
DNFの基本的な部分については以下の記事を参照してください。
大抵の用途では mariadb-server
と mariadb-client
の両方が必要になりますが、 mariadb-server
ををインストーすれば依存関係によって両方インストールできます。
ちなみに、リポジトリを作成しなくてもAppStreamリポジトリからMariaDBをインストールすることも出来ますが、バージョンが10.3となります。(2020年9月時点)
MariaDBではバージョン10.3と10.4以降では挙動が違うので、最新をインストールすることをおすすめします。(今回の記事では10.5を使って進めていきます)
2. MariaDBの起動・自動起動設定
SSHと同様に行います。
[root@localhost ~]# systemctl enable --now mariadb
3. MariaDBの初期設定の実行
以下のコマンドを実行することで初期設定を実行することが出来ます。
[root@localhost ~]# mysql_secure_installation
以下のように質問されるので、これに答えていくことで設定が出来ます。
#は質問の解説です。
# 現在のルートパスワードを入力(インストールしたての場合、何も入力せずにEnter)
Enter current password for root (enter for none):
# unix_socket認証を使うか(CentOSにログインしたユーザと同じユーザがMariaDBにあればパスワード無しでそのユーザにログインできるようになる)(Yを推奨)
Switch to unix_socket authentication [Y/n]
# ルートパスワードを設定するか(パスワードを設定するとroot以外もパスワードが分かればログインできてしまうため、nを推奨)
Set root password? [Y/n]
# (ルートパスワードを設定する場合のみ表示)設定したいパスワードを入力
New password:
# (ルートパスワードを設定する場合のみ表示)もう一度パスワードを入力
Re-enter new password:
# 匿名ユーザを削除するか(匿名ユーザは誰でもアクセスできるユーザのこと)(Yを推奨)
Remove anonymous users? [Y/n]
# 遠隔でのrootログインを禁止するか(禁止してもSSHでのログインは出来ます)(データベースクライアントソフトを使わない場合はYを推奨)
Disallow root login remotely? [Y/n] Y
# テストデータベースを削除するか(テストデータベースは誰でもアクセスできるデータベース)(Yを推奨)
Remove test database and access to it? [Y/n]
# 権限設定を今すぐ反映させるか(Yを推奨)
Reload privilege tables now? [Y/n]
この初期設定を行うことで最低限のセキュリティを備えることが出来ますので、インストールしたらまず実行するようにしましょう。
まとめ
今回はMariaDBのインストールと初期設定を行いました。
なお、初期設定以外のMariaDBの設定は /etc/my.cnf
と /etc/my.cnf.d/
ディレクトリ内のファイルを編集することで行います。
しかし、これは利用するアプリケーションによってした方が良い設定が変わるので、アプリケーションのインストールの記事にて触れたいと思います。
なお、実際にアプリケーションで使用する際などは、そのアプリケーション用のユーザやデータベースを作成してあげる必要があります。
次回は、これらを最低限実施するための操作コマンドに触れたいと思います。