Ubuntu16.04にMySQLをインストールする方法
序章
MySQL はオープンソースのデータベース管理システムであり、一般的に人気のある LAMP (Linux、Apache、MySQL、PHP / Python / Perl)スタックの一部としてインストールされます。 リレーショナルデータベースとSQL(Structured Query Language)を使用してデータを管理します。
インストールの短いバージョンは単純です。パッケージインデックスを更新し、mysql-server
パッケージをインストールしてから、付属のセキュリティスクリプトを実行します。
- sudo apt-get update
- sudo apt-get install mysql-server
- mysql_secure_installation
このチュートリアルでは、MySQLバージョン5.7をUbuntu16.04サーバーにインストールする方法について説明します。 ただし、既存のMySQLインストールをバージョン5.7に更新する場合は、代わりにこのMySQL5.7更新ガイドを読むことができます。
前提条件
このチュートリアルに従うには、次のものが必要です。
- この初期サーバーセットアップガイドに従ってセットアップされた1つのUbuntu16.04サーバー。これには、sudo非rootユーザーとファイアウォールが含まれます。
ステップ1—MySQLをインストールする
Ubuntu 16.04では、デフォルトで最新バージョンのMySQLのみがAPTパッケージリポジトリに含まれています。 これを書いている時点では、それはMySQL5.7です。
これをインストールするには、サーバーのパッケージインデックスを更新し、apt-get
を使用してデフォルトパッケージをインストールするだけです。
- sudo apt-get update
- sudo apt-get install mysql-server
インストール中にrootパスワードを作成するように求められます。 安全なものを選択し、後で必要になるため、覚えておいてください。 次に、MySQLの構成を終了します。
ステップ2—MySQLの構成
新規インストールの場合は、付属のセキュリティスクリプトを実行する必要があります。 これにより、リモートルートログインやサンプルユーザーなどの安全性の低いデフォルトオプションの一部が変更されます。 古いバージョンのMySQLでは、データディレクトリも手動で初期化する必要がありましたが、これは現在自動的に行われます。
セキュリティスクリプトを実行します。
- 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は自動的に実行を開始するはずです。 これをテストするには、そのステータスを確認します。
- 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
)の入力を求め、バージョンを返すように指示します。
- 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セットアップがサーバーにインストールされました。 次に実行できる次の手順の例をいくつか示します。