序章
MySQL は、さまざまな一般的なアプリケーションのデータを保存および取得するために使用される、著名なオープンソースデータベース管理システムです。 MySQLは、LAMPスタックのMであり、Linux、Apache Webサーバー、およびPHPプログラミング言語を含む一般的に使用されるオープンソースソフトウェアのセットです。
Debian 9では、MySQLプロジェクトのコミュニティフォークであるMariaDBがデフォルトのMySQLバリアントとしてパッケージ化されています。 MariaDBはほとんどの場合うまく機能しますが、OracleのMySQLにのみ見られる機能が必要な場合は、MySQL開発者が管理するリポジトリからパッケージをインストールして使用できます。
MySQLの最新バージョンをインストールするには、このリポジトリを追加し、MySQLソフトウェア自体をインストールし、インストールを保護します。最後に、MySQLが実行され、コマンドに応答していることをテストします。
前提条件
このチュートリアルを開始する前に、次のものが必要です。
- この初期サーバーセットアップガイドに従ってセットアップされた1台のDebian9サーバー。これには、
sudo
特権を持つ非rootユーザーとファイアウォールが含まれます。
ステップ1—MySQLソフトウェアリポジトリを追加する
MySQL開発者は、公式のMySQLソフトウェアリポジトリの構成とインストールを処理する.deb
パッケージを提供しています。 リポジトリが設定されると、Ubuntuの標準のapt
コマンドを使用してソフトウェアをインストールできるようになります。 この.deb
ファイルをwget
でダウンロードし、dpkg
コマンドでインストールします。
まず、WebブラウザにMySQLダウンロードページをロードします。 右下隅にあるダウンロードボタンを見つけて、クリックして次のページに進みます。 このページでは、OracleWebアカウントにログインまたはサインアップするように求められます。 それをスキップして、代わりにというリンクを探すことができます。いいえ、ダウンロードを開始してください。 リンクを右クリックして、リンクアドレスのコピーを選択します(このオプションは、ブラウザによって異なる表現になる場合があります)。
次に、ファイルをダウンロードします。 サーバー上で、書き込み可能なディレクトリに移動します。 wget
を使用してファイルをダウンロードします。コピーしたアドレスを、以下の強調表示された部分の代わりに貼り付けることを忘れないでください。
cd /tmp wget https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb
これで、ファイルが現在のディレクトリにダウンロードされます。 次のことを確認するためにファイルをリストします。
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
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
Output● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2018-09-05 15:58:21 UTC; 30s ago Docs: man:mysqld(8) http://dev.mysql.com/doc/refman/en/using-systemd.html Main PID: 12805 (mysqld) Status: "SERVER_OPERATING" CGroup: /system.slice/mysql.service └─12805 /usr/sbin/mysqld Sep 05 15:58:15 mysql1 systemd[1]: Starting MySQL Community Server... Sep 05 15:58:21 mysql1 systemd[1]: Started MySQL Community Server.
Active: active (running)
行は、MySQLがインストールされて実行されていることを意味します。 次に、インストールをもう少し安全にします。
ステップ3—MySQLを保護する
MySQLには、新しいインストールでセキュリティ関連の更新をいくつか実行するために使用できるコマンドが付属しています。 今それを実行しましょう:
mysql_secure_installation
これにより、インストール中に設定したMySQL rootパスワードの入力を求められます。 入力してENTER
を押します。 次に、一連の「はい」または「いいえ」のプロンプトに答えます。 それらを見てみましょう:
まず、パスワード検証プラグインについて質問されます。これは、MySQLユーザーに特定のパスワード強度ルールを自動的に適用できるプラグインです。 これを有効にすることは、個々のセキュリティニーズに基づいて行う必要がある決定です。 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
にMySQLroot ユーザーとしてログインするように指示し、-p
はクライアントにパスワードを要求するように指示し、[ X143X]は、実行する実際のコマンドです。
出力により、実行中のMySQLサーバーのバージョン、稼働時間、およびその他のステータス情報がわかります。
Outputmysqladmin Ver 8.0.12 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.12 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/run/mysqld/mysqld.sock Uptime: 6 min 42 sec Threads: 2 Questions: 12 Slow queries: 0 Opens: 123 Flush tables: 2 Open tables: 99 Queries per second avg: 0.029
同様の出力を受け取った場合は、おめでとうございます。 これで、最新のMySQLサーバーが正常にインストールされ、保護されました。
結論
これで、最新バージョンのMySQLの基本インストールが完了しました。これは、多くの一般的なアプリケーションで機能するはずです。