序章

MySQL はオープンソースのデータベース管理システムであり、一般的に人気のある LAMP (Linux、Apache、MySQL、PHP / Python / Perl)スタックの一部としてインストールされます。 リレーショナルデータベースとSQL(Structured Query Language)を使用してデータを管理します。

インストールの短いバージョンは単純です。パッケージインデックスを更新し、mysql-serverパッケージをインストールしてから、付属のセキュリティスクリプトを実行します。

  1. sudo apt-get update
  2. sudo apt-get install mysql-server
  3. mysql_secure_installation

このチュートリアルでは、MySQLバージョン5.7をUbuntu16.04サーバーにインストールする方法について説明します。 ただし、既存のMySQLインストールをバージョン5.7に更新する場合は、代わりにこのMySQL5.7更新ガイドを読むことができます。

前提条件

このチュートリアルに従うには、次のものが必要です。

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

Ubuntu 16.04では、デフォルトで最新バージョンのMySQLのみがAPTパッケージリポジトリに含まれています。 これを書いている時点では、それはMySQL5.7です。

これをインストールするには、サーバーのパッケージインデックスを更新し、apt-getを使用してデフォルトパッケージをインストールするだけです。

  1. sudo apt-get update
  2. sudo apt-get install mysql-server

インストール中にrootパスワードを作成するように求められます。 安全なものを選択し、後で必要になるため、覚えておいてください。 次に、MySQLの構成を終了します。

ステップ2—MySQLの構成

新規インストールの場合は、付属のセキュリティスクリプトを実行する必要があります。 これにより、リモートルートログインやサンプルユーザーなどの安全性の低いデフォルトオプションの一部が変更されます。 古いバージョンのMySQLでは、データディレクトリも手動で初期化する必要がありましたが、これは現在自動的に行われます。

セキュリティスクリプトを実行します。

  1. mysql_secure_installation

これにより、手順1で作成したrootパスワードの入力を求められます。 Yを押してからENTERを押すと、ルートパスワードを変更するかどうかを尋ねる質問を除いて、以降のすべての質問のデフォルトを受け入れることができます。 手順1で設定しただけなので、今すぐ変更する必要はありません。 これらのオプションの詳細なウォークスルーについては、LAMPインストールチュートリアルのこのステップを参照してください。

MySQLデータディレクトリを初期化するには、5.7.6より前のバージョンではmysql_install_dbを使用し、5.7.6以降ではmysqld --initializeを使用します。 ただし、ステップ1のようにDebianディストリビューションからMySQLをインストールした場合、データディレクトリは自動的に初期化されました。 何もする必要はありません。 とにかくコマンドを実行しようとすると、次のエラーが表示されます。

出力
2016-03-07T20:11:15.998193Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.

最後に、MySQLのインストールをテストしましょう。

ステップ3—MySQLをテストする

インストール方法に関係なく、MySQLは自動的に実行を開始するはずです。 これをテストするには、そのステータスを確認します。

  1. systemctl status mysql.service

次のような出力が表示されます。

出力
● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: en
   Active: active (running) since Wed 2016-11-23 21:21:25 UTC; 30min ago
 Main PID: 3754 (mysqld)
    Tasks: 28
   Memory: 142.3M
      CPU: 1.994s
   CGroup: /system.slice/mysql.service
           └─3754 /usr/sbin/mysqld

MySQLが実行されていない場合は、sudo systemctl start mysqlで開始できます。

追加のチェックとして、管理コマンドを実行できるクライアントであるmysqladminツールを使用してデータベースに接続してみることができます。 たとえば、このコマンドは、 root -u root)としてMySQLに接続し、パスワード(-p)の入力を求め、バージョンを返すように指示します。

  1. mysqladmin -p -u root version

次のような出力が表示されます。

出力
mysqladmin  Ver 8.42 Distrib 5.7.16, 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.16-0ubuntu0.16.04.1
Protocol version	10
Connection		Localhost via UNIX socket
UNIX socket		/var/run/mysqld/mysqld.sock
Uptime:			30 min 54 sec

Threads: 1  Questions: 12  Slow queries: 0  Opens: 115  Flush tables: 1  Open tables: 34  Queries per second avg: 0.006

これは、MySQLが稼働していることを意味します。

結論

これで、基本的なMySQLセットアップがサーバーにインストールされました。 次に実行できる次の手順の例をいくつか示します。