今日はUbuntuにMySQLをインストールする方法を学びましょう。 MySQLは、無料のオープンソースデータベース管理システムです。このデータベース管理システムは、構造化照会言語(SQL)を使用して、リレーショナルデータベースに保存されているデータを管理します。 1995年にOracleCorporationによって開発されたこの効率的でスケーラブルなプログラムは、小規模および大規模のテクノロジー企業の両方でアプリケーションを検索します。
このチュートリアルでは、Ubuntuシステムに最新バージョンのMySQL(執筆時点ではバージョン8.0.20)をインストールするプロセスを実行します。
前提条件
このチュートリアルに従ってシステムにMySQLをインストールするには、次の要件を満たす必要があります。
- Sudo権限を持つroot以外のユーザー
- Ubuntuを実行しているシステム
- アクティブなファイアウォール
UbuntuにMySQLをインストールする手順
前提条件が整ったら、Ubuntuへのデータベースシステムのインストールに取り掛かりましょう。
リポジトリの更新
UbuntuにMySQLをインストールするチュートリアルを開始する前に、MySQLパッケージの最新バージョンがあることを確認することをお勧めします。これを行うには、aptパッケージ管理サービスを使用してデフォルトのリポジトリを更新する必要があります。
これを行うには、Ubuntuシステムでターミナルを開き、次のように入力する必要があります。
sudo apt update
画面にこれと同様の出力が表示されるはずです。次に、ターミナルでupgradeコマンドを使用します。
これは、ターミナル画面に表示されるものです。コマンドラインに「Y」を入力して、操作を続行します。これらのコマンドは、デフォルトのUbuntuリポジトリをシステムで利用可能な最新のリポジトリに置き換えました。これで、 MySQLの最新バージョンを確実に入手できます。 システムへのインストールを開始するときのパッケージ。
UbuntuへのMySQLサーバーパッケージのインストール
利用可能な最新のパッケージができたので、aptパッケージマネージャーを使用してMySQLサーバーをシステムにインストールします。これは、ターミナルウィンドウで次のコマンドを使用して実行できます。
sudo apt install mysql-server
これにより、MySQLがUbuntuシステムにインストールされます。ただし、現在サービスが安全でないため、まだ使用できません。次に、サービスを構成して、作業の準備をします。
UbuntuでMySQLを構成する手順
インストールが完了したので、次はシステムのセットアップを行います。ファイアウォールポートを開くことから始めましょう。
ファイアウォールを介したMySQLの許可
MySQLがローカルで使用されている場合、この手順は不要であり、リモートのクライアント/サーバー相互作用を必要としないことに注意してください。
通常、MySQLは、複数のシステムがデータのクエリを送信できる設定で使用されます。したがって、ファイアウォールを介したリモートアクセスを許可する必要があります。 MySQLサービスがリッスンするデフォルトのポートは3306です。したがって、次のコマンドを使用して、ファイアウォールを通過できるようにします。
sudo ufw allow mysql
UFWには、Apache、LAMP、MySQL、HTTPなどの複数のセットアップのデフォルト設定があります。
セキュリティスクリプトの実行
次に、ターミナルで次のコマンドを入力して、セキュアインストールユーティリティを起動します。
sudo mysql_secure_installation
このスクリプトは、リモートルートログインやサンプルテストユーザーなど、新しくインストールしたMySQLサービスのセキュリティオプションを変更します。まず、パスワード検証プラグインを設定するかどうかを選択するように求められます。
選択に関係なく、次に、rootユーザーのパスワードを選択するためのプロンプトが表示されます。
その後に一連の重要度の低いオプションが続くため、設定を変更するか、「Y」を入力してデフォルト設定を確認するかを選択できます。
完了すると、MySQLサービスは変更されたルールをロードし、構成に一致するように自分自身を更新します。
MySQLサービスの開始
インストールが完了したので、システムでMySQLサービスを開始する必要があります。そのためには、以下に示すようにsystemctlコマンドを使用します。
sudo systemctl start mysql
将来的には他のセッションでも使用し、毎回プロセスを開始するのは不要な作業なので、起動時に起動するように設定します。これは、以下のコマンドを使用して実行できます。
sudo systemctl enable mysql
これで、システムにログインするたびに、MySQLプロセスが自動的に開始されます。
ログイン資格情報の設定
以前にrootパスワードを設定したことを覚えていますか? MySQLサーバーにログインするためのパスワードはまだ構成されていません。
現在、MySQLサービスはauth_socketプラグインを使用してrootユーザーを認証しています。これを修正するには、最初にシステムでMySQLサーバーを起動する必要があります。次のコマンドを使用してこれを行います。
sudo mysql
次に、認証を更新する必要があります。次に、強力なパスワードを選択し、それを使用して次のSQLコマンドで認証方法を更新します。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'newpassword'
「newpassword」を任意のパスワードに置き換えます。これにより、以前に選択したパスワードがセキュリティスクリプトで上書きされることに注意してください。
次に、すべての許可テーブルをリロードして、今行った変更を更新します。これは、次のコマンドで実行できます。
FLUSH PRIVILEGES
MySQLサーバーを構成したので、rootユーザーを使用してサーバーにログインしてテストします。 「exit」コマンドを使用してサービスを終了し、新しく更新されたパスワードを使用して再度ログインしましょう。
システムでのMySQLのテスト
システムにMySQLサーバーをインストールし、いくつかの基本構成をセットアップしました。ただし、新しくインストールしたMySQLサーバーが正しく機能していることを確認せずに実行することはできません。
基本的なクエリを使用してMySQLサーバーをテストします。まず、rootアカウントとそれに関連付けられたパスワードを使用してMySQLサーバーにログオンします。
次のような画面が表示されます。今回は、rootユーザーにログオンするために別の方法を使用したことに注意してください。これは、ユーザーを指定して正しいパスワードを入力しないと、rootユーザーの管理者権限を取得できないためです。
次に、MySQLサーバーに、システム上のユーザー、ホスト、およびプラグインのリストを表示するように依頼します。これは、次のSQLコマンドを使用して実行できます。
SELECT User, Host, Plugin FROM mysql.user;
上記の出力は、MySQLサーバーが正しく機能していることを確認しています。
まとめ
MySQLは、ユーザーが利用できる主要なリレーショナルデータベース管理システムの1つです。このチュートリアルは、UbuntuにMySQLサーバーをインストールし、いくつかの基本的な構成を設定するのに役立つことを目的としています。フィードバック、質問、提案があれば、下のコメントでお気軽にご連絡ください。