前書き

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

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

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

前提条件

このチュートリアルを開始する前に、次のものが必要です。

手順1-MySQLソフトウェアリポジトリの追加

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

これを行う前に、https://en.wikipedia.org/wiki/Pretty_Good_Privacy#OpenPGP [OpenPGP standard]のオープンソース実装である前提条件https://gnupg.org/[GnuPG]パッケージをインストールする必要があります。 。

最初に、ローカルパッケージインデックスを更新して、最新のアップストリームの変更を反映させます。

sudo apt update

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

sudo apt install gnupg

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

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

Webブラウザでhttps://dev.mysql.com/downloads/repo/apt/[MySQLダウンロードページ]をロードします。 右下隅にある[ダウンロード]ボタンを見つけて、クリックして次のページに進みます。 このページでは、ログインするか、Oracle Webアカウントにサインアップするよう求められます。 それをスキップして、代わりに*いいえ、リンクを探してください。ダウンロードを開始してください*。 リンクを右クリックし、[リンクアドレスのコピー]を選択します(このオプションは、ブラウザによって異なる表現になる場合があります)。

次に、ファイルをダウンロードします。 サーバー上で、書き込み可能なディレクトリに移動します。 `+ wget +`を使用してファイルをダウンロードします。コピーしたアドレスを、以下の強調表示された部分の場所に忘れずに貼り付けてください。

cd /tmp
wget

これで、ファイルが現在のディレクトリにダウンロードされます。 ファイルをリストして確認してください:

ls

リストされたファイル名を見るはずです:

Outputmysql-apt-config__all.deb
. . .

これでインストールの準備ができました。

sudo dpkg -i mysql-apt-config*

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

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

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

sudo apt update

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

ステップ2-MySQLのインストール

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

sudo apt install mysql-server

`+ apt `は利用可能なすべての ` mysql-server `パッケージを調べ、MySQLが提供するパッケージが最新かつ最良の候補であると判断します。 その後、パッケージの依存関係を計算し、インストールの承認を求めます。 「 y 」と入力してから「 ENTER +」と入力します。 ソフトウェアがインストールされます。

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

MySQLをインストールして実行する必要があります。 `+ systemctl +`を使用して確認しましょう:

sudo systemctl status mysql
● mysql.service - MySQL Community Server
  Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
  Active:  since Thu 2019-07-25 17:20:12 UTC; 3s ago
    Docs: man:mysqld(8)
          http://dev.mysql.com/doc/refman/en/using-systemd.html
 Process: 2673 ExecStartPre=/usr/share/mysql-8.0/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
Main PID: 2709 (mysqld)
  Status: "Server is operational"
   Tasks: 39 (limit: 4915)
  Memory: 378.4M
  CGroup: /system.slice/mysql.service
          └─2709 /usr/sbin/mysqld

Jul 25 17:20:10 sammy systemd[1]: Starting MySQL Community Server...
Jul 25 17:20:12 sammy systemd[1]: Started MySQL Community Server.

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

ステップ3-MySQLの保護

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

mysql_secure_installation

これにより、インストール中に設定したMySQL * root *パスワードが求められます。 入力して、「+ ENTER」を押します。 ここで、一連のyesまたはnoプロンプトに答えます。 それらを見ていきましょう。

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

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

残りのプロンプトには「はい」と回答できます。 匿名 MySQLユーザーの削除、リモート* root ログインの禁止、 test *データベースの削除、特権テーブルの再読み込みについて、以前の変更が適切に有効になることを確認するよう求められます。 これらはすべて良い考えです。 「+ y 」と入力し、それぞれに対して「 ENTER +」を押します。

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

ステップ4 – MySQLのテスト

`+ mysqladmin +`はMySQLのコマンドライン管理クライアントです。 これを使用してサーバーに接続し、バージョンとステータス情報を出力します。

mysqladmin -u root -p version

`+ -u root `部分は、 ` mysqladmin `にMySQL * root *ユーザーとしてログインするように指示し、 ` -p `はパスワードを要求するようクライアントに指示し、 ` version +`は実際に実行したいコマンドです走る。

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

Outputmysqladmin  Ver 8.0.17 for Linux on x86_64 (MySQL Community Server - GPL)
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

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.17
Protocol version    10
Connection      Localhost via UNIX socket
UNIX socket     /var/run/mysqld/mysqld.sock
Uptime:         3 min 9 sec

Threads: 2  Questions: 10  Slow queries: 0  Opens: 128  Flush tables: 3  Open tables: 48  Queries per second avg: 0.052

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

結論

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