このチュートリアルの以前のバージョンは、 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
で更新してください。
- sudo apt update
次に、パッケージをインストールします。
- sudo apt install mariadb-server
デフォルトのリポジトリからインストールすると、MariaDBは自動的に実行を開始します。 これをテストするには、そのステータスを確認します。
- 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インストールのセキュリティオプションにいくつかの変更を加えることができる一連のプロンプトが表示されます。
- 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プロンプトを開きます。
- sudo mariadb
次に、root権限とパスワードベースのアクセス権を持つ新しいユーザーを作成します。 好みに合わせてユーザー名とパスワードを変更してください。
- GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
特権をフラッシュして、それらが保存され、現在のセッションで使用可能であることを確認します。
- FLUSH PRIVILEGES;
これに続いて、MariaDBシェルを終了します。
- exit
この新しいユーザーは、管理コマンドを実行できるクライアントであるmysqladmin
ツールを使用してテストできます。 次のmysqladmin
コマンドは、 admin ユーザーとしてMariaDBに接続し、ユーザーのパスワードの入力を求めた後、バージョン番号を返します。
- mysqladmin -u admin -p version
次のような出力が表示されます。
Outputmysqladmin 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サーバーができたので、サーバーを操作するために実行できる次の手順の例を次に示します。