序章

MySQL は、さまざまな一般的なアプリケーションのデータを保存および取得するために使用される、著名なオープンソースのデータベース管理システムです。 MySQLは、LAMPスタックのMであり、Linux、Apache Webサーバー、およびPHPプログラミング言語を含む一般的に使用されるオープンソースソフトウェアのセットです。

Debian 10では、MySQLプロジェクトのコミュニティフォークであるMariaDBがデフォルトのMySQLバリアントとしてパッケージ化されています。 MariaDBはほとんどの場合うまく機能しますが、OracleのMySQLにのみ見られる機能が必要な場合は、MySQL開発者が管理するリポジトリからパッケージをインストールして使用できます。

このチュートリアルでは、このリポジトリを追加して最新バージョンのMySQLをインストールし、MySQLソフトウェア自体をインストールし、インストールを保護し、MySQLが実行されてコマンドに応答していることをテストします。

前提条件

このチュートリアルを開始する前に、sudo特権とファイアウォールが構成されたroot以外のユーザーを持つDebian10サーバーが1台必要です。 これを行うには、 Debian10の初期サーバーセットアップガイドに従います。

ステップ1—MySQLソフトウェアリポジトリを追加する

MySQL開発者は、公式のMySQLソフトウェアリポジトリの構成とインストールを処理する.debパッケージを提供しています。 リポジトリが設定されると、Debianの標準のaptコマンドを使用してソフトウェアをインストールできるようになります。

これを行う前に、前提条件の GnuPG パッケージ、OpenPGP標準のオープンソース実装をインストールする必要があります。

最新のアップストリームの変更を反映するようにローカルパッケージインデックスを更新することから始めます。

  1. sudo apt update

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

  1. sudo apt install gnupg

インストールを確認した後、APTはgnupgとその依存関係をインストールします。

次に、wgetを含むMySQL.debパッケージをダウンロードし、dpkgコマンドを使用してインストールします。

WebブラウザにMySQLダウンロードページをロードします。 右下隅にあるダウンロードボタンを見つけて、クリックして次のページに進みます。 このページでは、OracleWebアカウントにログインまたはサインアップするように求められます。 それをスキップして、というリンクを見つけることができます。いいえ、ダウンロードを開始してください。 リンクを右クリックして、リンクアドレスのコピーを選択します(このオプションは、ブラウザによって異なる表現になる場合があります)。

次に、ファイルをダウンロードします。 サーバーで、次の例で使用されている一時的な/tmpディレクトリなど、書き込み可能なディレクトリに移動します。

  1. cd /tmp

次に、wgetを使用してファイルをダウンロードします。次のコマンドで、強調表示された部分の代わりにコピーしたアドレスを貼り付けることを忘れないでください。

  1. wget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb

これで、ファイルが現在のディレクトリにダウンロードされます。 確認するファイルを一覧表示します。

  1. ls

出力には、ダウンロードしたファイルを含むさまざまなファイルのリストが返されます。これは、次の例で強調表示されています。

Output
. . . mysql-apt-config_0.8.22-1_all.deb . . .

これで、インストールの準備が整いました。 .debソフトウェアパッケージのインストール、削除、および検査に使用されるdpkgコマンドを実行します。 -iフラグは、指定されたファイルからインストールすることを示します。

  1. sudo dpkg -i mysql-apt-config*

インストール中に、希望するMySQLのバージョンを指定できる構成画面と、他のMySQL関連ツールのリポジトリをインストールするオプションが表示されます。 デフォルトでは、MySQLの最新の安定バージョンのリポジトリ情報のみが追加されます。 これが私たちの目的のために選択するものなので、下矢印を使用してOkメニューオプションに移動し、ENTERを押します。

これで、パッケージはリポジトリの追加を完了します。 aptパッケージキャッシュを更新して、新しいソフトウェアパッケージを利用できるようにします。

  1. sudo apt update

MySQLリポジトリを追加したので、実際のMySQLサーバーソフトウェアをインストールする準備が整いました。 これらのリポジトリの構成を更新する必要がある場合は、sudo dpkg-reconfigure mysql-apt-configを実行し、新しいオプションを選択してから、sudo apt-get updateを実行してパッケージキャッシュを更新します。

ステップ2—MySQLをインストールする

リポジトリを追加し、パッケージキャッシュを新たに更新したら、aptを使用して最新のMySQLサーバーパッケージをインストールできます。

  1. sudo apt install mysql-server

aptは、利用可能なすべてのmysql-serverパッケージをスキャンし、MySQLが提供するパッケージが最新かつ最良の候補であると判断します。 次に、パッケージの依存関係を計算し、インストールを承認するように求めます。 yENTERの順に書き込みます。 ソフトウェアがインストールされます。

インストールの構成段階で、rootパスワードを設定するように求められます。 続行するには、安全なパスワードを選択して確認してください。 次に、デフォルトの認証プラグインを選択するように求めるプロンプトが表示されます。 選択肢を理解するためにディスプレイを読んでください。 よくわからない場合は、強力なパスワード暗号化を使用を選択する方が安全です。

MySQLがインストールされ、実行されているはずです。 systemctlを使用して確認してください。

  1. sudo systemctl status mysql
Output
● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: en Active: active (running) since Thu 2022-02-24 18:59:22 UTC; 23min ago Docs: man:mysqld(8) http://dev.mysql.com/doc/refman/en/using-systemd.html Main PID: 3722 (mysqld) Status: "Server is operational" Tasks: 38 (limit: 4915) Memory: 371.7M CGroup: /system.slice/mysql.service └─3722 /usr/sbin/mysqld Feb 24 18:59:21 sql-debian systemd[1]: Starting MySQL Community Server... Feb 24 18:59:22 sql-debian systemd[1]: Started MySQL Community Server.

Active: active (running)行は、MySQLがインストールされて実行されていることを意味します。 次のステップでは、インストールをもう少し安全にします。

ステップ3—MySQLを保護する

MySQLには、新規インストールでセキュリティ関連の更新をいくつか実行するコマンドが付属しています。 今すぐ実行できます:

  1. mysql_secure_installation

これにより、インストール中に設定したMySQL rootパスワードの入力を求められます。 書き込んでENTERを押してください。 次に、一連の「はい」または「いいえ」のプロンプトに答えます。 それらを確認しましょう:

まず、パスワード検証プラグインについて尋ねられます。これは、MySQLユーザーに特定のパスワード強度ルールを自動的に適用できるプラグインです。 これを有効にすることは、個々のセキュリティニーズに基づいて行う必要がある決定です。 yと入力し、ENTERを押して有効にするか、ENTERを押してスキップします。 有効にすると、パスワード検証の厳密さについて0〜2のレベルを選択するように求められます。 番号を選択し、ENTERを押して続行します。

次に、rootパスワードを変更するかどうかを尋ねられます。 MySQLのインストール時に最近パスワードを作成したので、これを安全にスキップできます。 ENTERを押して、パスワードを更新せずに続行します。

残りのプロンプトには、はいと答えることができます。 匿名のMySQLユーザーの削除、リモート root ログインの禁止、testデータベースの削除、特権テーブルの再読み込みについて質問され、以前の変更が正しく有効になります。 これらはすべて良いアイデアです。 yと書いて、それぞれENTERを押します。

すべてのプロンプトに応答すると、スクリプトは終了します。 これで、MySQLのインストールは適切に保護されました。 次に、サーバーに接続していくつかの情報を返すクライアントを実行して、もう一度テストします。

ステップ4–MySQLのテスト

mysqladminは、MySQLのコマンドライン管理クライアントです。 これを使用してサーバーに接続し、バージョンとステータスの情報を出力します。 -u rootの部分は、mysqladminにMySQLroot ユーザーとしてログインするように指示し、-pはクライアントにパスワードを要求するように指示し、[ X143X]は、実行する実際のコマンドです。

  1. mysqladmin -u root -p version

出力により、実行中のMySQLサーバーのバージョン、稼働時間、および次のようなその他のステータス情報が得られます。

Output
mysqladmin Ver 8.0.28 for Linux on x86_64 (MySQL Community Server - GPL) Copyright (c) 2000, 2022, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Server version 8.0.28 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/run/mysqld/mysqld.sock Uptime: 25 min 31 sec Threads: 2 Questions: 20 Slow queries: 0 Opens: 143 Flush tables: 3 Open tables: 62 Queries per second avg: 0.013

この出力は、最新のMySQLサーバーが正常にインストールおよび保護されたことを確認します。

結論

これで、MySQLの最新の安定バージョンがインストールされました。これは、多くの一般的なアプリケーションで機能するはずです。

MySQLの基本の詳細については、次のチュートリアルを確認することをお勧めします。