Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第20章 MariaDB (MySQL の代替)

MariaDB データベースは、マルチユーザーのマルチスレッドの SQL データベースサーバーで、MariaDB サーバーデーモン (mysqld) と、多くのクライアントプログラムおよびライブラリーで設定されます。[18]
Red Hat Enterprise Linux では、mariadb-server パッケージにより、MariaDB が提供されます。以下のコマンドを実行して、mariadb-server パッケージがインストールされているかどうかを確認します。
~]$ rpm -q mariadb-server
package mariadb-server is not installed
インストールされていない場合は、root で yum ユーティリティーを使用してインストールします。
~]# yum install mariadb-server

20.1. MariaDB と SELinux

MariaDB が有効になると、デフォルトで制限ありで実行されます。制限のあるプロセスは、独自のドメインで実行され、他の制限のあるプロセスから分離されます。制限のあるプロセスが攻撃者によって侵害された場合、SELinux ポリシーの設定に応じて、攻撃者のリソースへのアクセスと、攻撃者が行う可能性のある損害は制限されます。以下の例は、独自のドメインで実行している MariaDB プロセスを示しています。この例では、mariadb-server パッケージがインストールされていることを前提としています。
  1. getenforce コマンドを実行して、SELinux が Enforcing モードで実行されていることを確認します。
    ~]$ getenforce
    Enforcing
    
    SELinux が Enforcing モードで実行されていると、このコマンドは Enforcing を返します。
  2. root で次のコマンドを入力して、mariadb を起動します。
    ~]# systemctl start mariadb.service
    サービスが実行中であることを確認します。出力には以下の情報が含まれている必要があります (タイムスタンプのみは異なります)。
    ~]# systemctl status mariadb.service
    mariadb.service - MariaDB database server
       Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled)
       Active: active (running) since Mon 2013-08-05 11:20:11 CEST; 3h 28min ago
    
  3. mysqldプロセスを表示するには、次のコマンドを実行します。
    ~]$ ps -eZ | grep mysqld
    system_u:system_r:mysqld_safe_t:s0 12831 ?     00:00:00 mysqld_safe
    system_u:system_r:mysqld_t:s0   13014 ?        00:00:00 mysqld
    
    mysqld プロセスに関連付けられた SELinux コンテキストはsystem_u:system_r:mysqld_t:s0 です。コンテキストの 2 番目の部分 mysqld_t はタイプです。タイプは、プロセスのドメインとファイルのタイプを定義します。この例では、mysqld プロセスが mysqld_t ドメインで実行しています。


[18] 詳細は、MariaDB プロジェクトページを参照してください。