Ubuntu22.04にMariaDBをインストールする方法
序章
MariaDB は、オープンソースのリレーショナルデータベース管理システムであり、人気のある LAMP (Linux、Apache、MySQL、PHP / Python / Perl)のデータベース部分としてMySQLの代替として一般的に使用されます。 )スタック。 これは、MySQLのドロップイン代替品となることを目的としています。
このインストールガイドの短いバージョンは、次の3つのステップで構成されています。
apt
を使用してパッケージインデックスを更新しますapt
を使用してmariadb-server
パッケージをインストールします。 このパッケージには、MariaDBと対話するための関連ツールも含まれています- 付属の
mysql_secure_installation
セキュリティスクリプトを実行して、サーバーへのアクセスを制限します
sudo apt update sudo apt install mariadb-server sudo mysql_secure_installation
このチュートリアルでは、MariaDBをUbuntu 22.04サーバーにインストールし、それが実行されており、安全な初期構成になっていることを確認する方法について説明します。
前提条件
- このチュートリアルに従うには、Ubuntu22.04を実行しているサーバーが必要です。 このサーバーには、root以外の管理ユーザーとUFWで構成されたファイアウォールが必要です。 Ubuntu22.04の初期サーバーセットアップガイドに従ってこれをセットアップします。
ステップ1—MariaDBをインストールする
この記事の執筆時点で、Ubuntu22.04のデフォルトのAPTリポジトリにはMariaDBバージョン10.5.12が含まれています。
これをインストールするには、サーバーのパッケージインデックスをapt
で更新します。
sudo apt update
次に、パッケージをインストールします。
sudo apt install mariadb-server
これらのコマンドはMariaDBをインストールしますが、パスワードの設定やその他の構成変更を求めるプロンプトは表示されません。 デフォルトの構成ではMariaDBのインストールが安全でないため、mariadb-server
パッケージが提供するスクリプトを使用して、サーバーへのアクセスを制限し、未使用のアカウントを削除します。
ステップ2—MariaDBの構成
新しいMariaDBインストールの場合、次のステップは、含まれているセキュリティスクリプトを実行することです。 このスクリプトは、リモートrootログインやサンプルユーザーなどの安全性の低いデフォルトオプションの一部を変更します。
セキュリティスクリプトを実行します。
sudo mysql_secure_installation
これにより、MariaDBインストールのセキュリティオプションにいくつかの変更を加えることができる一連のプロンプトが表示されます。 最初のプロンプトでは、現在のデータベースrootのパスワードを入力するように求められます。 まだ設定していないので、ENTER
を押して「なし」を表示します。
OutputNOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! In order to log into MariaDB to secure it, you'll need the current password for the root user. If you've just installed MariaDB, and you haven't set the root password yet, the password will be blank, so you should just press enter here. Enter current password for root (enter for none):
UNIXソケット認証に切り替えるかどうかを尋ねられます。 以前のバージョンのMariaDBでは、 root MariaDBユーザーは、パスワードではなく、デフォルトでunix_socket
プラグインを使用して認証するように設定されていました。 これにより、多くの場合、セキュリティと使いやすさが向上しましたが、外部プログラム(phpMyAdminなど)の管理者権限を許可する必要がある場合は、さらに複雑になりました。
これで、事前にオプションが表示されます。 sudo ユーザーが既に適切に設定されているため、n
と入力し、ENTER
を押します。
Output. . . Setting the root password or using the unix_socket ensures that nobody can log into the MariaDB root user without the proper authorisation. You already have your root account protected, so you can safely answer 'n'. Switch to unix_socket authentication [Y/n] n
次のプロンプトでは、データベースrootパスワードを設定するかどうかを尋ねられます。 Ubuntuでは、MariaDBの root アカウントは自動システムメンテナンスと密接に関連しているため、そのアカウントに構成されている認証方法を変更しないでください。
そうすることで、管理者アカウントへのアクセスを削除することにより、パッケージの更新によってデータベースシステムが破壊される可能性があります。 n
と入力し、ENTER
を押します。
Output. . . OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. Set root password? [Y/n] n
後で、ソケット認証がユースケースに適していない場合に、パスワードアクセス用に追加の管理者アカウントを設定する方法について説明します。
そこから、Y
、次にENTER
を押して、後続のすべての質問のデフォルトを受け入れることができます。 これにより、一部の匿名ユーザーとテストデータベースが削除され、リモート root ログインが無効になり、これらの新しいルールが読み込まれるため、MariaDBは行った変更をすぐに実装します。
これで、MariaDBの初期セキュリティ構成が完了しました。 次のステップはオプションですが、MariaDBサーバーに対してパスワードで認証する場合は、これに従う必要があります。
ステップ3—MariaDBのテスト
デフォルトのリポジトリからインストールすると、MariaDBは自動的に実行を開始します。 これをテストするには、そのステータスを確認します。
sudo systemctl status mariadb
次のような出力が表示されます。
Output● mariadb.service - MariaDB 10.5.12 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2022-03-11 22:01:33 UTC; 14min ago Docs: man:mariadbd(8) https://mariadb.com/kb/en/library/systemd/ . . .
MariaDBが実行されていない場合は、コマンドsudo systemctl start mariadb
で開始できます。
追加のチェックとして、mysqladmin
ツールを使用してデータベースに接続してみることができます。このツールは、管理コマンドを実行できるクライアントです。 たとえば、このコマンドは、Unixソケットを使用して root としてMariaDBに接続し、バージョンを返すように指示します。
sudo mysqladmin version
次のような出力が表示されます。
Outputmysqladmin Ver 9.1 Distrib 10.5.12-MariaDB, for debian-linux-gnu on x86_64 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Server version 10.5.12-MariaDB-1build1 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /run/mysqld/mysqld.sock Uptime: 15 min 53 sec Threads: 1 Questions: 482 Slow queries: 0 Opens: 171 Open tables: 28 Queries per second avg: 0.505
結論
このガイドでは、MariaDBリレーショナルデータベース管理システムをインストールし、インストールに付属しているmysql_secure_installation
スクリプトを使用してシステムを保護しました。 また、MariaDBサーバーの機能をテストする前に、パスワード認証を使用する新しい管理ユーザーを作成するオプションもありました。
実行中の安全なMariaDBサーバーができたので、サーバーを操作するために実行できる次の手順の例を次に示します。