手当たり次第に書くんだ

飽きっぽいのは本能

目次に戻る

概要

MariaDBを使用してデータベースサーバーを構築します。

前提条件

OS

CentOS Stream 8を使用します。

SELinux

有効です。無効にする場合はこちらを参照して下さい。

Firewalld

無効です。有効化する場合はこちらを参照して必要な許可設定をして下さい。

その他

本稿ではMariaDBの起動設定とrootパスワードの設定まで取り上げます。各アプリケーションからの利用は他の投稿に記載します。

標準ポート番号

TCP:3306 (MariaDB)

設定

インストール

MariaDBをインストールします。

[root@centos ~]# dnf install mariadb-server

サービス起動設定

MariaDBを起動します。

[root@centos ~]# systemctl enable --now mariadb.service
[root@centos ~]# systemctl status mariadb.service

rootパスワード設定

まずはMariaDBにログインします。初期状態はrootパスワードが設定されていません。

[root@centos ~]# mysql -u root

rootパスワードを変更します。testpasswordが今回設定する仮のパスワードです。

MariaDB [(none)]> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [(none)]> update user set password=PASSWORD("testpassword") where User='root';
Query OK, 4 rows affected (0.000 sec)
Rows matched: 4  Changed: 4  Warnings: 0
MariaDB [(none)]> exit
Bye

サービス再起動

MariaDBを再起動します。

[root@centos ~]# systemctl restart mariadb.service

ログイン確認

パスワード無しでログインできないことを確認します。

[root@centos ~]# mysql -u root

ログインできることを確認します。-pオプションは対話形式でパスワード入力ができます。

[root@centos ~]# mysql -u root -p

mysql_secure_installationは不要?

以前までMariaDBの初期設定に「mysql_secure_installation」を使用していたのですが、対話形式の為、自動化(Ansible等)と相性が良くありません。また、mysql_secure_installationは相当前から存在していますが、改めて現在での必要性を確認してみました。

mysql_secure_installationがしていること

こちらによるとmysql_secure_installationの機能は下記とのことです。

  1. rootアカウントのパスワードをセットすることができます。
  2. ローカルホストの外からアクセス可能なrootアカウントを削除することができます。
  3. 匿名ユーザアカウントを削除することができます。
  4. 匿名ユーザが既定でアクセス可能なtestデータベースを削除することができます。

MariaDBの初期状態とmysql_secure_installationの必要性

下記の結果の通り、CentOS8のMariaDBの初期状態では、①testデータベースが存在していない、②匿名ユーザーは存在していない、③ローカルホスト以外からアクセス可能なrootアカウントは存在しない、となっており、rootアカウントのパスワード設定だけ行えばmysql_secure_installationの必要性はありません。大分前のCentOSでは確かにtestデータベースがありましたが、最近では予め削除した状態で配布しているようです。

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.098 sec)
MariaDB [(none)]> select user, host from mysql.user;
+------+-------------+
| user | host        |
+------+-------------+
| root | 127.0.0.1   |
| root | ::1         |
| root | localhost   |
| root | centos      |
+------+-------------+
4 rows in set (0.266 sec)

目次に戻る

CentOS 8 MariaDB 構築

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る