序章

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

新しくリリースされた機能を使用するには、Linuxディストリビューションで提供されているものよりも最新のバージョンのMySQLをインストールする必要がある場合があります。 便利なことに、MySQL開発者は、最新バージョンを簡単にインストールして最新の状態に保つために使用できる独自のソフトウェアリポジトリを維持しています。

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

前提条件

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

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

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

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

次に、ファイルをダウンロードします。 サーバーで、書き込み可能なディレクトリに移動します。

  1. cd /tmp

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

  1. curl -OL https://dev.mysql.com/get/mysql-apt-config_0.8.3-1_all.deb

2つのコマンドラインフラグをcurlに渡す必要があります。 -Oは、curlに標準出力ではなくファイルに出力するように指示します。 Lフラグにより、curlはHTTPリダイレクトに従います。この場合、コピーしたアドレスがファイルのダウンロード前に実際に別の場所にリダイレクトするため、この場合に必要です。

これで、ファイルが現在のディレクトリにダウンロードされます。 次のことを確認するためにファイルをリストします。

  1. ls

次のファイル名が表示されます。

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

これで、インストールする準備が整いました。

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

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

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

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

  1. sudo apt-get update

また、自分でクリーンアップして、ダウンロードしたファイルを削除しましょう。

  1. rm mysql-apt-config*

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

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

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

  1. sudo apt-get install mysql-server

apt-getは、利用可能なすべてのmysql-serverパッケージを調べ、MySQLが提供するパッケージが最新かつ最良の候補であると判断します。 次に、パッケージの依存関係を計算し、インストールを承認するように求めます。 yと入力してからENTERと入力します。 ソフトウェアがインストールされます。 インストールの構成段階で、rootパスワードを設定するように求められます。 必ず安全なパスワードを選択し、2回入力すると、プロセスが完了します。

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

  1. systemctl status mysql
Output
● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2017-04-05 19:28:37 UTC; 3min 42s ago Main PID: 8760 (mysqld) CGroup: /system.slice/mysql.service └─8760 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

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

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

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

  1. mysql_secure_installation

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

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

次に、rootパスワードを変更するかどうかを尋ねられます。 MySQLをインストールしたときにパスワードを作成したばかりなので、これをスキップしても問題ありません。 ENTERを押して、パスワードを更新せずに続行します。

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

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

ステップ4–MySQLのテスト

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

  1. mysqladmin -u root -p version

-u rootの部分は、mysqladminにMySQLroot ユーザーとしてログインするように指示し、-pはクライアントにパスワードを要求するように指示し、[ X143X]は、実行する実際のコマンドです。

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

Output
mysqladmin Ver 8.42 Distrib 5.7.17, for Linux on x86_64 Copyright (c) 2000, 2016, 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 5.7.17 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/run/mysqld/mysqld.sock Uptime: 58 min 28 sec Threads: 1 Questions: 10 Slow queries: 0 Opens: 113 Flush tables: 1 Open tables: 106 Queries per second avg: 0.002

同様の出力を受け取った場合は、おめでとうございます。 これで、最新のMySQLサーバーが正常にインストールされ、保護されました。

結論

これで、最新バージョンのMySQLの基本インストールが完了しました。これは、多くの一般的なアプリケーションで機能するはずです。 より高度なニーズがある場合は、他の構成タスクを続行できます。

  • MySQLサーバーを管理するためのグラフィカルインターフェイスが必要な場合は、phpMyAdminが一般的なWebベースのソリューションです。 チュートリアルphpMyAdminをインストールして保護する方法を開始できます。
  • 現在、データベースには、同じサーバーで実行されているアプリケーションにのみアクセスできます。 パフォーマンスとストレージの理由から、データベースサーバーとアプリケーションサーバーを別々にする必要がある場合があります。 他のサーバーからの安全なアクセスのためにMySQLを設定する方法については、MySQLのSSL/TLSを構成する方法を参照してください。
  • もう1つの一般的な構成は、MySQLがデータを格納するディレクトリを変更することです。 デフォルトのディレクトリとは異なるストレージデバイスにデータを保存する場合は、これを行う必要があります。 これについては、MySQLデータディレクトリを新しい場所に移動する方法で説明されています。