このチュートリアルの以前のバージョンは、 BrianBoucheronによって作成されました。

序章

MariaDB は、オープンソースのリレーショナルデータベース管理システムであり、人気のある LAMP (Linux、Apache、MySQL、PHP / Python / Perl)のデータベース部分としてMySQLの代替として一般的に使用されます。 )スタック。 これは、MySQLのドロップイン代替品となることを目的としています。

このクイックスタートチュートリアルでは、MariaDBをUbuntu 20.04サーバーにインストールし、安全な初期構成でセットアップする方法について説明します。 また、パスワードアクセス用に追加の管理者アカウントを設定する方法についても説明します。

前提条件

このチュートリアルに従うには、Ubuntu20.04を実行しているサーバーが必要です。 このサーバーには、root以外の管理ユーザーとUFWで構成されたファイアウォールが必要です。 Ubuntu20.04の初期サーバーセットアップガイドに従ってこれをセットアップします。

このページに埋め込まれているインタラクティブ端末を使用して、このチュートリアルでMariaDBのインストールと構成を試すこともできます。 次のLaunch an Interactive Terminal!ボタンをクリックして開始します。

ステップ1—MariaDBをインストールする

MariaDBをインストールする前に、サーバーのパッケージインデックスをaptで更新してください。

  1. sudo apt update

次に、パッケージをインストールします。

  1. sudo apt install mariadb-server

デフォルトのリポジトリからインストールすると、MariaDBは自動的に実行を開始します。 これをテストするには、そのステータスを確認します。

  1. sudo systemctl status mariadb

次のような出力が表示されます。

Output
● mariadb.service - MariaDB 10.3.22 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2020-05-12 13:38:18 UTC; 3min 55s ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 25914 (mysqld) Status: "Taking your SQL requests now..." Tasks: 31 (limit: 2345) Memory: 65.6M CGroup: /system.slice/mariadb.service └─25914 /usr/sbin/mysqld . . .

MariaDBが実行されていない場合は、コマンドsudo systemctl start mariadbで開始できます。

ステップ2—MariaDBの構成

MariaDBにインストールされているセキュリティスクリプトを実行します。 これにより、MariaDBインストールのセキュリティオプションにいくつかの変更を加えることができる一連のプロンプトが表示されます。

  1. sudo mysql_secure_installation

最初のプロンプトでは、現在のデータベースrootのパスワードを入力するように求められます。 まだ設定していないので、ENTERを押して「なし」を表示します。

Output
. . . Enter current password for root (enter for none):

次のプロンプトでは、データベースrootパスワードを設定するかどうかを尋ねられます。 Ubuntuでは、MariaDBの root アカウントは自動システムメンテナンスと密接に関連しているため、そのアカウントに構成されている認証方法を変更しないでください。 Nと入力し、ENTERを押します。

Output
. . . Set root password? [Y/n] N

そこから、Y、次にENTERを押して、後続のすべての質問のデフォルトを受け入れることができます。 これにより、一部の匿名ユーザーとテストデータベースが削除され、リモート root ログインが無効になり、これらの新しいルールが読み込まれます。

ステップ3—(オプション)パスワード認証を使用する管理ユーザーの作成

MariaDB 10.3を実行しているUbuntuシステムでは、 root MariaDBユーザーは、パスワードではなく、デフォルトでunix_socketプラグインを使用して認証するように設定されています。 サーバーはログローテーションやサーバーの起動と停止などのタスクにrootアカウントを使用するため、rootアカウントの認証の詳細を変更しないことをお勧めします。 代わりに、パッケージメンテナは、パスワードベースのアクセス用に別の管理者アカウントを作成することをお勧めします。

このために、ターミナルからMariaDBプロンプトを開きます。

  1. sudo mariadb

次に、root権限とパスワードベースのアクセス権を持つ新しいユーザーを作成します。 好みに合わせてユーザー名とパスワードを変更してください。

  1. GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

特権をフラッシュして、それらが保存され、現在のセッションで使用可能であることを確認します。

  1. FLUSH PRIVILEGES;

これに続いて、MariaDBシェルを終了します。

  1. exit

この新しいユーザーは、管理コマンドを実行できるクライアントであるmysqladminツールを使用してテストできます。 次のmysqladminコマンドは、 admin ユーザーとしてMariaDBに接続し、ユーザーのパスワードの入力を求めた後、バージョン番号を返します。

  1. mysqladmin -u admin -p version

次のような出力が表示されます。

Output
mysqladmin Ver 9.1 Distrib 10.3.22-MariaDB, for debian-linux-gnu on x86_64 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Server version 10.3.22-MariaDB-1ubuntu1 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/run/mysqld/mysqld.sock Uptime: 4 min 49 sec Threads: 7 Questions: 467 Slow queries: 0 Opens: 177 Flush tables: 1 Open tables: 31 Queries per second avg: 1.615

結論

このガイドでは、MariaDBリレーショナルデータベース管理システムをインストールし、インストールに付属しているmysql_secure_installationスクリプトを使用してシステムを保護しました。 パスワード認証を使用する新しい管理ユーザーを作成するオプションもありました。

実行中の安全なMariaDBサーバーができたので、サーバーを操作するために実行できる次の手順の例を次に示します。