Ubuntu 18.04に最新のMySQLをインストールする方法

前書き

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

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

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

前提条件

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

[[step-1 -—- adding-the-mysql-software-repository]] ==ステップ1—MySQLソフトウェアリポジトリの追加

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

まず、Webブラウザにthe MySQL download pageをロードします。 右下隅にあるDownloadボタンを見つけて、クリックして次のページに進みます。 このページでは、ログインするか、Oracle Webアカウントにサインアップするよう求められます。 それをスキップして、代わりにNo thanks, just start my downloadというリンクを探すことができます。 リンクを右クリックして、Copy Link Addressを選択します(このオプションは、ブラウザによって異なる表現になる場合があります)。

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

cd /tmp

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

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

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

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

ls

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

Outputmysql-apt-config_0.8.10-1_all.deb
. . .

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

sudo dpkg -i mysql-apt-config*

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

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

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

sudo apt update

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

rm mysql-apt-config*

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

[[step-2 -—- installing-mysql]] ==ステップ2—MySQLのインストール

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

sudo apt install mysql-server

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

インストールの構成段階で、rootパスワードを設定するように求められます。 必ず安全なパスワードを選択してください。 2回入力してENTERを押すと、認証プラグインを構成するように求められます。 デフォルトのUse Strong Password Encryptionが推奨されるため、ENTERを押して選択します。 インストールプロセスは完了するまで続行されます。

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

systemctl status mysql
Output● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2018-07-12 17:46:42 UTC; 17s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
 Main PID: 7918 (mysqld)
   Status: "SERVER_OPERATING"
    Tasks: 37 (limit: 1152)
   CGroup: /system.slice/mysql.service
           └─7918 /usr/sbin/mysqld

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

[[step-3 -—- securing-mysql]] ==ステップ3—MySQLの保護

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

mysql_secure_installation

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

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

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

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

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

[[step-4 -–- testing-mysql]] ==ステップ4–MySQLのテスト

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

mysqladmin -u root -p version

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

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

Outputmysqladmin  Ver 8.0.11 for Linux on x86_64 (MySQL Community Server - GPL)
Copyright (c) 2000, 2018, 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.11
Protocol version    10
Connection      Localhost via UNIX socket
UNIX socket     /var/run/mysqld/mysqld.sock
Uptime:         2 min 21 sec

Threads: 2  Questions: 10  Slow queries: 0  Opens: 136  Flush tables: 2  Open tables: 112  Queries per second avg: 0.070

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

結論

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

  • MySQLサーバーを管理するためのグラフィカルインターフェイスが必要な場合、phpMyAdminは人気のあるWebベースのソリューションです。 私たちのチュートリアルHow To Install and Secure phpMyAdminはあなたが始めることができます。

  • 現在、データベースには、同じサーバーで実行されているアプリケーションのみがアクセスできます。 パフォーマンスとストレージの理由から、データベースとアプリケーションサーバーを別々にしたい場合があります。 他のサーバーからの安全なアクセスのためにMySQLを設定する方法については、How To Configure SSL/TLS for MySQLを参照してください。

  • 別の一般的な構成は、MySQLがデータを保存するディレクトリを変更することです。 デフォルトのディレクトリとは異なるストレージデバイスにデータを保存する場合は、これを行う必要があります。 これはHow To Move a MySQL Data Directory to a New Locationでカバーされています。

Related